@aztec/pxe 0.56.0 → 0.58.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 (111) hide show
  1. package/dest/bin/index.js +0 -0
  2. package/dest/contract_data_oracle/index.d.ts +1 -2
  3. package/dest/contract_data_oracle/index.d.ts.map +1 -1
  4. package/dest/contract_data_oracle/index.js +1 -1
  5. package/dest/contract_data_oracle/private_functions_tree.d.ts +1 -2
  6. package/dest/contract_data_oracle/private_functions_tree.d.ts.map +1 -1
  7. package/dest/contract_data_oracle/private_functions_tree.js +1 -1
  8. package/dest/database/contracts/contract_instance_db.d.ts +1 -2
  9. package/dest/database/contracts/contract_instance_db.d.ts.map +1 -1
  10. package/dest/database/deferred_note_dao.d.ts +6 -2
  11. package/dest/database/deferred_note_dao.d.ts.map +1 -1
  12. package/dest/database/deferred_note_dao.js +8 -5
  13. package/dest/database/incoming_note_dao.d.ts +3 -1
  14. package/dest/database/incoming_note_dao.d.ts.map +1 -1
  15. package/dest/database/incoming_note_dao.js +5 -1
  16. package/dest/database/kv_pxe_database.d.ts +1 -2
  17. package/dest/database/kv_pxe_database.d.ts.map +1 -1
  18. package/dest/database/kv_pxe_database.js +4 -4
  19. package/dest/database/outgoing_note_dao.d.ts +3 -1
  20. package/dest/database/outgoing_note_dao.d.ts.map +1 -1
  21. package/dest/database/outgoing_note_dao.js +5 -1
  22. package/dest/database/pxe_database.d.ts +1 -2
  23. package/dest/database/pxe_database.d.ts.map +1 -1
  24. package/dest/database/pxe_database_test_suite.d.ts.map +1 -1
  25. package/dest/database/pxe_database_test_suite.js +2 -3
  26. package/dest/kernel_oracle/index.d.ts +8 -4
  27. package/dest/kernel_oracle/index.d.ts.map +1 -1
  28. package/dest/kernel_oracle/index.js +6 -5
  29. package/dest/kernel_prover/hints/build_private_kernel_reset_private_inputs.d.ts +28 -0
  30. package/dest/kernel_prover/hints/build_private_kernel_reset_private_inputs.d.ts.map +1 -0
  31. package/dest/kernel_prover/hints/build_private_kernel_reset_private_inputs.js +260 -0
  32. package/dest/kernel_prover/hints/index.d.ts +1 -2
  33. package/dest/kernel_prover/hints/index.d.ts.map +1 -1
  34. package/dest/kernel_prover/hints/index.js +2 -3
  35. package/dest/kernel_prover/kernel_prover.d.ts +2 -4
  36. package/dest/kernel_prover/kernel_prover.d.ts.map +1 -1
  37. package/dest/kernel_prover/kernel_prover.js +37 -30
  38. package/dest/kernel_prover/proving_data_oracle.d.ts +2 -2
  39. package/dest/kernel_prover/proving_data_oracle.d.ts.map +1 -1
  40. package/dest/kernel_prover/test/test_circuit_prover.d.ts +2 -3
  41. package/dest/kernel_prover/test/test_circuit_prover.d.ts.map +1 -1
  42. package/dest/kernel_prover/test/test_circuit_prover.js +10 -13
  43. package/dest/note_processor/note_processor.d.ts +3 -3
  44. package/dest/note_processor/note_processor.d.ts.map +1 -1
  45. package/dest/note_processor/note_processor.js +16 -18
  46. package/dest/note_processor/utils/add_nullable_field_to_payload.d.ts +12 -0
  47. package/dest/note_processor/utils/add_nullable_field_to_payload.d.ts.map +1 -0
  48. package/dest/note_processor/utils/add_nullable_field_to_payload.js +46 -0
  49. package/dest/note_processor/utils/brute_force_note_info.d.ts +26 -0
  50. package/dest/note_processor/utils/brute_force_note_info.d.ts.map +1 -0
  51. package/dest/note_processor/utils/brute_force_note_info.js +52 -0
  52. package/dest/note_processor/utils/index.d.ts +3 -0
  53. package/dest/note_processor/utils/index.d.ts.map +1 -0
  54. package/dest/note_processor/utils/index.js +2 -0
  55. package/dest/note_processor/{produce_note_dao.d.ts → utils/produce_note_daos.d.ts} +12 -8
  56. package/dest/note_processor/utils/produce_note_daos.d.ts.map +1 -0
  57. package/dest/note_processor/utils/produce_note_daos.js +53 -0
  58. package/dest/note_processor/utils/produce_note_daos_for_key.d.ts +9 -0
  59. package/dest/note_processor/utils/produce_note_daos_for_key.d.ts.map +1 -0
  60. package/dest/note_processor/utils/produce_note_daos_for_key.js +80 -0
  61. package/dest/pxe_http/pxe_http_server.d.ts.map +1 -1
  62. package/dest/pxe_http/pxe_http_server.js +13 -4
  63. package/dest/pxe_service/create_pxe_service.d.ts.map +1 -1
  64. package/dest/pxe_service/create_pxe_service.js +2 -18
  65. package/dest/pxe_service/pxe_service.d.ts +4 -6
  66. package/dest/pxe_service/pxe_service.d.ts.map +1 -1
  67. package/dest/pxe_service/pxe_service.js +55 -49
  68. package/dest/simulator_oracle/index.d.ts +1 -2
  69. package/dest/simulator_oracle/index.d.ts.map +1 -1
  70. package/dest/simulator_oracle/index.js +1 -1
  71. package/dest/synchronizer/synchronizer.d.ts +2 -2
  72. package/dest/synchronizer/synchronizer.d.ts.map +1 -1
  73. package/dest/synchronizer/synchronizer.js +6 -10
  74. package/package.json +17 -14
  75. package/src/contract_data_oracle/index.ts +1 -2
  76. package/src/contract_data_oracle/private_functions_tree.ts +1 -1
  77. package/src/database/contracts/contract_instance_db.ts +1 -2
  78. package/src/database/deferred_note_dao.ts +5 -1
  79. package/src/database/incoming_note_dao.ts +24 -1
  80. package/src/database/kv_pxe_database.ts +10 -3
  81. package/src/database/outgoing_note_dao.ts +23 -1
  82. package/src/database/pxe_database.ts +6 -2
  83. package/src/database/pxe_database_test_suite.ts +7 -2
  84. package/src/kernel_oracle/index.ts +5 -4
  85. package/src/kernel_prover/hints/build_private_kernel_reset_private_inputs.ts +467 -0
  86. package/src/kernel_prover/hints/index.ts +1 -2
  87. package/src/kernel_prover/kernel_prover.ts +74 -79
  88. package/src/kernel_prover/proving_data_oracle.ts +2 -1
  89. package/src/kernel_prover/test/test_circuit_prover.ts +13 -16
  90. package/src/note_processor/note_processor.ts +36 -27
  91. package/src/note_processor/utils/add_nullable_field_to_payload.ts +67 -0
  92. package/src/note_processor/utils/brute_force_note_info.ts +82 -0
  93. package/src/note_processor/utils/index.ts +2 -0
  94. package/src/note_processor/utils/produce_note_daos.ts +114 -0
  95. package/src/note_processor/utils/produce_note_daos_for_key.ts +157 -0
  96. package/src/pxe_http/pxe_http_server.ts +19 -3
  97. package/src/pxe_service/create_pxe_service.ts +1 -18
  98. package/src/pxe_service/pxe_service.ts +81 -83
  99. package/src/simulator_oracle/index.ts +1 -1
  100. package/src/synchronizer/synchronizer.ts +12 -10
  101. package/dest/kernel_prover/hints/build_private_kernel_reset_hints.d.ts +0 -5
  102. package/dest/kernel_prover/hints/build_private_kernel_reset_hints.d.ts.map +0 -1
  103. package/dest/kernel_prover/hints/build_private_kernel_reset_hints.js +0 -90
  104. package/dest/kernel_prover/hints/needs_reset.d.ts +0 -5
  105. package/dest/kernel_prover/hints/needs_reset.d.ts.map +0 -1
  106. package/dest/kernel_prover/hints/needs_reset.js +0 -38
  107. package/dest/note_processor/produce_note_dao.d.ts.map +0 -1
  108. package/dest/note_processor/produce_note_dao.js +0 -131
  109. package/src/kernel_prover/hints/build_private_kernel_reset_hints.ts +0 -249
  110. package/src/kernel_prover/hints/needs_reset.ts +0 -54
  111. package/src/note_processor/produce_note_dao.ts +0 -235
@@ -1,14 +1,17 @@
1
- import { Fr, PrivateCallData, PrivateKernelCircuitPublicInputs, PrivateKernelData, PrivateKernelInitCircuitPrivateInputs, PrivateKernelInnerCircuitPrivateInputs, PrivateKernelTailCircuitPrivateInputs, VK_TREE_HEIGHT, VerificationKeyAsFields, } from '@aztec/circuits.js';
1
+ import { collectEnqueuedPublicFunctionCalls, collectNoteHashLeafIndexMap, collectNoteHashNullifierCounterMap, collectPublicTeardownFunctionCall, getFinalMinRevertibleSideEffectCounter, } from '@aztec/circuit-types';
2
+ import { CLIENT_IVC_VERIFICATION_KEY_LENGTH_IN_FIELDS, Fr, PROTOCOL_CONTRACT_TREE_HEIGHT, PrivateCallData, PrivateKernelCircuitPublicInputs, PrivateKernelData, PrivateKernelInitCircuitPrivateInputs, PrivateKernelInnerCircuitPrivateInputs, PrivateKernelTailCircuitPrivateInputs, VK_TREE_HEIGHT, VerificationKeyAsFields, } from '@aztec/circuits.js';
3
+ import { makeTuple } from '@aztec/foundation/array';
2
4
  import { createDebugLogger } from '@aztec/foundation/log';
3
5
  import { assertLength } from '@aztec/foundation/serialize';
4
6
  import { pushTestData } from '@aztec/foundation/testing';
5
- import { ClientCircuitArtifacts, PrivateResetTagToArtifactName, getVKTreeRoot, } from '@aztec/noir-protocol-circuits-types';
6
- import { collectEnqueuedPublicFunctionCalls, collectNoteHashLeafIndexMap, collectNoteHashNullifierCounterMap, collectPublicTeardownFunctionCall, getFinalMinRevertibleSideEffectCounter, } from '@aztec/simulator';
7
- import { buildPrivateKernelResetInputs, needsFinalReset, needsReset } from './hints/index.js';
7
+ import { getVKTreeRoot } from '@aztec/noir-protocol-circuits-types';
8
+ import { getProtocolContractSiblingPath, isProtocolContract, protocolContractTreeRoot, } from '@aztec/protocol-contracts';
9
+ import { PrivateKernelResetPrivateInputsBuilder } from './hints/build_private_kernel_reset_private_inputs.js';
8
10
  const NULL_PROVE_OUTPUT = {
9
11
  publicInputs: PrivateKernelCircuitPublicInputs.empty(),
10
- verificationKey: VerificationKeyAsFields.makeEmpty(),
12
+ verificationKey: VerificationKeyAsFields.makeEmpty(CLIENT_IVC_VERIFICATION_KEY_LENGTH_IN_FIELDS),
11
13
  outputWitness: new Map(),
14
+ bytecode: Buffer.from([]),
12
15
  };
13
16
  /**
14
17
  * The KernelProver class is responsible for generating kernel proofs.
@@ -46,12 +49,16 @@ export class KernelProver {
46
49
  const acirs = [];
47
50
  const witnessStack = [];
48
51
  while (executionStack.length) {
49
- if (!firstIteration && needsReset(output.publicInputs, executionStack)) {
50
- const resetInputs = await this.getPrivateKernelResetInputs(executionStack, output, noteHashLeafIndexMap, noteHashNullifierCounterMap, validationRequestsSplitCounter, false);
51
- output = await this.proofCreator.simulateProofReset(resetInputs);
52
- // TODO(#7368) consider refactoring this redundant bytecode pushing
53
- acirs.push(Buffer.from(ClientCircuitArtifacts[PrivateResetTagToArtifactName[resetInputs.sizeTag]].bytecode, 'base64'));
54
- witnessStack.push(output.outputWitness);
52
+ if (!firstIteration) {
53
+ let resetBuilder = new PrivateKernelResetPrivateInputsBuilder(output, executionStack, noteHashNullifierCounterMap, validationRequestsSplitCounter);
54
+ while (resetBuilder.needsReset()) {
55
+ const privateInputs = await resetBuilder.build(this.oracle, noteHashLeafIndexMap);
56
+ output = await this.proofCreator.simulateProofReset(privateInputs);
57
+ // TODO(#7368) consider refactoring this redundant bytecode pushing
58
+ acirs.push(output.bytecode);
59
+ witnessStack.push(output.outputWitness);
60
+ resetBuilder = new PrivateKernelResetPrivateInputsBuilder(output, executionStack, noteHashNullifierCounterMap, validationRequestsSplitCounter);
61
+ }
55
62
  }
56
63
  const currentExecution = executionStack.pop();
57
64
  executionStack.push(...[...currentExecution.nestedExecutions].reverse());
@@ -63,10 +70,10 @@ export class KernelProver {
63
70
  witnessStack.push(currentExecution.partialWitness);
64
71
  const privateCallData = await this.createPrivateCallData(currentExecution, appVk.verificationKey);
65
72
  if (firstIteration) {
66
- const proofInput = new PrivateKernelInitCircuitPrivateInputs(txRequest, getVKTreeRoot(), privateCallData);
73
+ const proofInput = new PrivateKernelInitCircuitPrivateInputs(txRequest, getVKTreeRoot(), protocolContractTreeRoot, privateCallData);
67
74
  pushTestData('private-kernel-inputs-init', proofInput);
68
75
  output = await this.proofCreator.simulateProofInit(proofInput);
69
- acirs.push(Buffer.from(ClientCircuitArtifacts.PrivateKernelInitArtifact.bytecode, 'base64'));
76
+ acirs.push(output.bytecode);
70
77
  witnessStack.push(output.outputWitness);
71
78
  }
72
79
  else {
@@ -75,56 +82,56 @@ export class KernelProver {
75
82
  const proofInput = new PrivateKernelInnerCircuitPrivateInputs(previousKernelData, privateCallData);
76
83
  pushTestData('private-kernel-inputs-inner', proofInput);
77
84
  output = await this.proofCreator.simulateProofInner(proofInput);
78
- acirs.push(Buffer.from(ClientCircuitArtifacts.PrivateKernelInnerArtifact.bytecode, 'base64'));
85
+ acirs.push(output.bytecode);
79
86
  witnessStack.push(output.outputWitness);
80
87
  }
81
88
  firstIteration = false;
82
89
  }
83
- if (needsFinalReset(output.publicInputs)) {
84
- const resetInputs = await this.getPrivateKernelResetInputs(executionStack, output, noteHashLeafIndexMap, noteHashNullifierCounterMap, validationRequestsSplitCounter, true);
85
- output = await this.proofCreator.simulateProofReset(resetInputs);
86
- // TODO(#7368) consider refactoring this redundant bytecode pushing
87
- acirs.push(Buffer.from(ClientCircuitArtifacts[PrivateResetTagToArtifactName[resetInputs.sizeTag]].bytecode, 'base64'));
90
+ // Reset.
91
+ let resetBuilder = new PrivateKernelResetPrivateInputsBuilder(output, [], noteHashNullifierCounterMap, validationRequestsSplitCounter);
92
+ while (resetBuilder.needsReset()) {
93
+ const privateInputs = await resetBuilder.build(this.oracle, noteHashLeafIndexMap);
94
+ output = await this.proofCreator.simulateProofReset(privateInputs);
95
+ acirs.push(output.bytecode);
88
96
  witnessStack.push(output.outputWitness);
97
+ resetBuilder = new PrivateKernelResetPrivateInputsBuilder(output, [], noteHashNullifierCounterMap, validationRequestsSplitCounter);
89
98
  }
99
+ // Private tail.
90
100
  const previousVkMembershipWitness = await this.oracle.getVkMembershipWitness(output.verificationKey);
91
101
  const previousKernelData = new PrivateKernelData(output.publicInputs, output.verificationKey, Number(previousVkMembershipWitness.leafIndex), assertLength(previousVkMembershipWitness.siblingPath, VK_TREE_HEIGHT));
92
102
  this.log.debug(`Calling private kernel tail with hwm ${previousKernelData.publicInputs.minRevertibleSideEffectCounter}`);
93
103
  const privateInputs = new PrivateKernelTailCircuitPrivateInputs(previousKernelData);
94
104
  pushTestData('private-kernel-inputs-ordering', privateInputs);
95
105
  const tailOutput = await this.proofCreator.simulateProofTail(privateInputs);
96
- acirs.push(Buffer.from(privateInputs.isForPublic()
97
- ? ClientCircuitArtifacts.PrivateKernelTailToPublicArtifact.bytecode
98
- : ClientCircuitArtifacts.PrivateKernelTailArtifact.bytecode, 'base64'));
106
+ acirs.push(tailOutput.bytecode);
99
107
  witnessStack.push(tailOutput.outputWitness);
100
108
  // TODO(#7368) how do we 'bincode' encode these inputs?
101
109
  const ivcProof = await this.proofCreator.createClientIvcProof(acirs, witnessStack);
102
110
  tailOutput.clientIvcProof = ivcProof;
103
111
  return tailOutput;
104
112
  }
105
- async getPrivateKernelResetInputs(executionStack, output, noteHashLeafIndexMap, noteHashNullifierCounterMap, validationRequestsSplitCounter, shouldSilo) {
106
- const previousVkMembershipWitness = await this.oracle.getVkMembershipWitness(output.verificationKey);
107
- const previousKernelData = new PrivateKernelData(output.publicInputs, output.verificationKey, Number(previousVkMembershipWitness.leafIndex), assertLength(previousVkMembershipWitness.siblingPath, VK_TREE_HEIGHT));
108
- return await buildPrivateKernelResetInputs(executionStack, previousKernelData, noteHashLeafIndexMap, noteHashNullifierCounterMap, validationRequestsSplitCounter, shouldSilo, this.oracle);
109
- }
110
113
  async createPrivateCallData({ callStackItem }, vk) {
111
114
  const { contractAddress, functionData } = callStackItem;
112
115
  const functionLeafMembershipWitness = await this.oracle.getFunctionMembershipWitness(contractAddress, functionData.selector);
113
- const { contractClassId, publicKeysHash, saltedInitializationHash } = await this.oracle.getContractAddressPreimage(contractAddress);
116
+ const { contractClassId, publicKeys, saltedInitializationHash } = await this.oracle.getContractAddressPreimage(contractAddress);
114
117
  const { artifactHash: contractClassArtifactHash, publicBytecodeCommitment: contractClassPublicBytecodeCommitment } = await this.oracle.getContractClassIdPreimage(contractClassId);
115
118
  // TODO(#262): Use real acir hash
116
119
  // const acirHash = keccak256(Buffer.from(bytecode, 'hex'));
117
120
  const acirHash = Fr.fromBuffer(Buffer.alloc(32, 0));
121
+ const protocolContractSiblingPath = isProtocolContract(contractAddress)
122
+ ? getProtocolContractSiblingPath(contractAddress)
123
+ : makeTuple(PROTOCOL_CONTRACT_TREE_HEIGHT, Fr.zero);
118
124
  return PrivateCallData.from({
119
125
  callStackItem,
120
126
  vk,
121
- publicKeysHash,
127
+ publicKeys,
122
128
  contractClassArtifactHash,
123
129
  contractClassPublicBytecodeCommitment,
124
130
  saltedInitializationHash,
125
131
  functionLeafMembershipWitness,
132
+ protocolContractSiblingPath,
126
133
  acirHash,
127
134
  });
128
135
  }
129
136
  }
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2VybmVsX3Byb3Zlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9rZXJuZWxfcHJvdmVyL2tlcm5lbF9wcm92ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLEVBQUUsRUFDRixlQUFlLEVBQ2YsZ0NBQWdDLEVBQ2hDLGlCQUFpQixFQUNqQixxQ0FBcUMsRUFDckMsc0NBQXNDLEVBQ3RDLHFDQUFxQyxFQUdyQyxjQUFjLEVBQ2QsdUJBQXVCLEdBQ3hCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLDZCQUE2QixFQUM3QixhQUFhLEdBQ2QsTUFBTSxxQ0FBcUMsQ0FBQztBQUM3QyxPQUFPLEVBRUwsa0NBQWtDLEVBQ2xDLDJCQUEyQixFQUMzQixrQ0FBa0MsRUFDbEMsaUNBQWlDLEVBQ2pDLHNDQUFzQyxHQUN2QyxNQUFNLGtCQUFrQixDQUFDO0FBSTFCLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHOUYsTUFBTSxpQkFBaUIsR0FBa0U7SUFDdkYsWUFBWSxFQUFFLGdDQUFnQyxDQUFDLEtBQUssRUFBRTtJQUN0RCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsU0FBUyxFQUFFO0lBQ3BELGFBQWEsRUFBRSxJQUFJLEdBQUcsRUFBRTtDQUN6QixDQUFDO0FBQ0Y7Ozs7O0dBS0c7QUFDSCxNQUFNLE9BQU8sWUFBWTtJQUd2QixZQUFvQixNQUF5QixFQUFVLFlBQWlDO1FBQXBFLFdBQU0sR0FBTixNQUFNLENBQW1CO1FBQVUsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBRmhG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
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2VybmVsX3Byb3Zlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9rZXJuZWxfcHJvdmVyL2tlcm5lbF9wcm92ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUlMLGtDQUFrQyxFQUNsQywyQkFBMkIsRUFDM0Isa0NBQWtDLEVBQ2xDLGlDQUFpQyxFQUNqQyxzQ0FBc0MsR0FDdkMsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQ0wsNENBQTRDLEVBQzVDLEVBQUUsRUFDRiw2QkFBNkIsRUFDN0IsZUFBZSxFQUNmLGdDQUFnQyxFQUNoQyxpQkFBaUIsRUFDakIscUNBQXFDLEVBQ3JDLHNDQUFzQyxFQUN0QyxxQ0FBcUMsRUFHckMsY0FBYyxFQUNkLHVCQUF1QixHQUN4QixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRSxPQUFPLEVBQ0wsOEJBQThCLEVBQzlCLGtCQUFrQixFQUNsQix3QkFBd0IsR0FDekIsTUFBTSwyQkFBMkIsQ0FBQztBQUluQyxPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUc5RyxNQUFNLGlCQUFpQixHQUFrRTtJQUN2RixZQUFZLEVBQUUsZ0NBQWdDLENBQUMsS0FBSyxFQUFFO0lBQ3RELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsNENBQTRDLENBQUM7SUFDaEcsYUFBYSxFQUFFLElBQUksR0FBRyxFQUFFO0lBQ3hCLFFBQVEsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztDQUMxQixDQUFDO0FBQ0Y7Ozs7O0dBS0c7QUFDSCxNQUFNLE9BQU8sWUFBWTtJQUd2QixZQUFvQixNQUF5QixFQUFVLFlBQWlDO1FBQXBFLFdBQU0sR0FBTixNQUFNLENBQW1CO1FBQVUsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBRmhGLFFBQUcsR0FBRyxpQkFBaUIsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBRW9DLENBQUM7SUFFNUY7Ozs7Ozs7Ozs7T0FVRztJQUNILEtBQUssQ0FBQyxLQUFLLENBQ1QsU0FBb0IsRUFDcEIsZUFBdUM7UUFFdkMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN6QyxJQUFJLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFFMUIsSUFBSSxNQUFNLEdBQUcsaUJBQWlCLENBQUM7UUFFL0IsTUFBTSxvQkFBb0IsR0FBRywyQkFBMkIsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMxRSxNQUFNLDJCQUEyQixHQUFHLGtDQUFrQyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3hGLE1BQU0sdUJBQXVCLEdBQUcsa0NBQWtDLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDcEYsTUFBTSxjQUFjLEdBQ2xCLHVCQUF1QixDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxpQ0FBaUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN0RyxNQUFNLDhCQUE4QixHQUFHLGNBQWMsQ0FBQyxDQUFDLENBQUMsc0NBQXNDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwSCxrQ0FBa0M7UUFDbEMsTUFBTSxLQUFLLEdBQWEsRUFBRSxDQUFDO1FBQzNCLE1BQU0sWUFBWSxHQUFpQixFQUFFLENBQUM7UUFFdEMsT0FBTyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUNwQixJQUFJLFlBQVksR0FBRyxJQUFJLHNDQUFzQyxDQUMzRCxNQUFNLEVBQ04sY0FBYyxFQUNkLDJCQUEyQixFQUMzQiw4QkFBOEIsQ0FDL0IsQ0FBQztnQkFDRixPQUFPLFlBQVksQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDO29CQUNqQyxNQUFNLGFBQWEsR0FBRyxNQUFNLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO29CQUNsRixNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxDQUFDO29CQUNuRSxtRUFBbUU7b0JBQ25FLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO29CQUM1QixZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztvQkFFeEMsWUFBWSxHQUFHLElBQUksc0NBQXNDLENBQ3ZELE1BQU0sRUFDTixjQUFjLEVBQ2QsMkJBQTJCLEVBQzNCLDhCQUE4QixDQUMvQixDQUFDO2dCQUNKLENBQUM7WUFDSCxDQUFDO1lBRUQsTUFBTSxnQkFBZ0IsR0FBRyxjQUFjLENBQUMsR0FBRyxFQUFHLENBQUM7WUFDL0MsY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFFekUsTUFBTSxZQUFZLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUN6RCxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsZUFBZSxFQUM5QyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FDckQsQ0FBQztZQUVGLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxnQ0FBZ0MsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUM7WUFDNUcsb0VBQW9FO1lBQ3BFLHFFQUFxRTtZQUNyRSxLQUFLLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2xDLFlBQVksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLENBQUM7WUFFbkQsTUFBTSxlQUFlLEdBQUcsTUFBTSxJQUFJLENBQUMscUJBQXFCLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBRWxHLElBQUksY0FBYyxFQUFFLENBQUM7Z0JBQ25CLE1BQU0sVUFBVSxHQUFHLElBQUkscUNBQXFDLENBQzFELFNBQVMsRUFDVCxhQUFhLEVBQUUsRUFDZix3QkFBd0IsRUFDeEIsZUFBZSxDQUNoQixDQUFDO2dCQUNGLFlBQVksQ0FBQyw0QkFBNEIsRUFBRSxVQUFVLENBQUMsQ0FBQztnQkFDdkQsTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDL0QsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVCLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQzFDLENBQUM7aUJBQU0sQ0FBQztnQkFDTixNQUFNLDJCQUEyQixHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7Z0JBQ3JHLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxpQkFBaUIsQ0FDOUMsTUFBTSxDQUFDLFlBQVksRUFDbkIsTUFBTSxDQUFDLGVBQWUsRUFDdEIsTUFBTSxDQUFDLDJCQUEyQixDQUFDLFNBQVMsQ0FBQyxFQUM3QyxZQUFZLENBQTRCLDJCQUEyQixDQUFDLFdBQVcsRUFBRSxjQUFjLENBQUMsQ0FDakcsQ0FBQztnQkFDRixNQUFNLFVBQVUsR0FBRyxJQUFJLHNDQUFzQyxDQUFDLGtCQUFrQixFQUFFLGVBQWUsQ0FBQyxDQUFDO2dCQUNuRyxZQUFZLENBQUMsNkJBQTZCLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQ3hELE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ2hFLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QixZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUMxQyxDQUFDO1lBQ0QsY0FBYyxHQUFHLEtBQUssQ0FBQztRQUN6QixDQUFDO1FBRUQsU0FBUztRQUNULElBQUksWUFBWSxHQUFHLElBQUksc0NBQXNDLENBQzNELE1BQU0sRUFDTixFQUFFLEVBQ0YsMkJBQTJCLEVBQzNCLDhCQUE4QixDQUMvQixDQUFDO1FBQ0YsT0FBTyxZQUFZLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQztZQUNqQyxNQUFNLGFBQWEsR0FBRyxNQUFNLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO1lBQ2xGLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDbkUsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDNUIsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7WUFFeEMsWUFBWSxHQUFHLElBQUksc0NBQXNDLENBQ3ZELE1BQU0sRUFDTixFQUFFLEVBQ0YsMkJBQTJCLEVBQzNCLDhCQUE4QixDQUMvQixDQUFDO1FBQ0osQ0FBQztRQUVELGdCQUFnQjtRQUNoQixNQUFNLDJCQUEyQixHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDckcsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGlCQUFpQixDQUM5QyxNQUFNLENBQUMsWUFBWSxFQUNuQixNQUFNLENBQUMsZUFBZSxFQUN0QixNQUFNLENBQUMsMkJBQTJCLENBQUMsU0FBUyxDQUFDLEVBQzdDLFlBQVksQ0FBNEIsMkJBQTJCLENBQUMsV0FBVyxFQUFFLGNBQWMsQ0FBQyxDQUNqRyxDQUFDO1FBRUYsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQ1osd0NBQXdDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyw4QkFBOEIsRUFBRSxDQUN6RyxDQUFDO1FBRUYsTUFBTSxhQUFhLEdBQUcsSUFBSSxxQ0FBcUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRXBGLFlBQVksQ0FBQyxnQ0FBZ0MsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUM5RCxNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDNUUsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEMsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFNUMsdURBQXVEO1FBQ3ZELE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDbkYsVUFBVSxDQUFDLGNBQWMsR0FBRyxRQUFRLENBQUM7UUFDckMsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVPLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLGFBQWEsRUFBMEIsRUFBRSxFQUEyQjtRQUN4RyxNQUFNLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxHQUFHLGFBQWEsQ0FBQztRQUV4RCxNQUFNLDZCQUE2QixHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyw0QkFBNEIsQ0FDbEYsZUFBZSxFQUNmLFlBQVksQ0FBQyxRQUFRLENBQ3RCLENBQUM7UUFDRixNQUFNLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSx3QkFBd0IsRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQywwQkFBMEIsQ0FDNUcsZUFBZSxDQUNoQixDQUFDO1FBQ0YsTUFBTSxFQUFFLFlBQVksRUFBRSx5QkFBeUIsRUFBRSx3QkFBd0IsRUFBRSxxQ0FBcUMsRUFBRSxHQUNoSCxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsMEJBQTBCLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFaEUsaUNBQWlDO1FBQ2pDLDREQUE0RDtRQUM1RCxNQUFNLFFBQVEsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFcEQsTUFBTSwyQkFBMkIsR0FBRyxrQkFBa0IsQ0FBQyxlQUFlLENBQUM7WUFDckUsQ0FBQyxDQUFDLDhCQUE4QixDQUFDLGVBQWUsQ0FBQztZQUNqRCxDQUFDLENBQUMsU0FBUyxDQUFDLDZCQUE2QixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV0RCxPQUFPLGVBQWUsQ0FBQyxJQUFJLENBQUM7WUFDMUIsYUFBYTtZQUNiLEVBQUU7WUFDRixVQUFVO1lBQ1YseUJBQXlCO1lBQ3pCLHFDQUFxQztZQUNyQyx3QkFBd0I7WUFDeEIsNkJBQTZCO1lBQzdCLDJCQUEyQjtZQUMzQixRQUFRO1NBQ1QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIn0=
@@ -1,5 +1,5 @@
1
1
  import { type NullifierMembershipWitness } from '@aztec/circuit-types';
2
- import { type FUNCTION_TREE_HEIGHT, type Fr, type FunctionSelector, type GrumpkinScalar, type MembershipWitness, type NOTE_HASH_TREE_HEIGHT, type Point, type VK_TREE_HEIGHT, type VerificationKeyAsFields } from '@aztec/circuits.js';
2
+ import { type FUNCTION_TREE_HEIGHT, type Fr, type FunctionSelector, type GrumpkinScalar, type MembershipWitness, type NOTE_HASH_TREE_HEIGHT, type Point, type PublicKeys, type VK_TREE_HEIGHT, type VerificationKeyAsFields } from '@aztec/circuits.js';
3
3
  import { type AztecAddress } from '@aztec/foundation/aztec-address';
4
4
  /**
5
5
  * Provides functionality to fetch membership witnesses for verification keys,
@@ -9,7 +9,7 @@ export interface ProvingDataOracle {
9
9
  /** Retrieves the preimage of a contract address from the registered contract instances db. */
10
10
  getContractAddressPreimage(address: AztecAddress): Promise<{
11
11
  saltedInitializationHash: Fr;
12
- publicKeysHash: Fr;
12
+ publicKeys: PublicKeys;
13
13
  contractClassId: Fr;
14
14
  }>;
15
15
  /** Retrieves the preimage of a contract class id from the contract classes db. */
@@ -1 +1 @@
1
- {"version":3,"file":"proving_data_oracle.d.ts","sourceRoot":"","sources":["../../src/kernel_prover/proving_data_oracle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,EAAE,EACP,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,KAAK,EACV,KAAK,cAAc,EACnB,KAAK,uBAAuB,EAC7B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAEpE;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,8FAA8F;IAC9F,0BAA0B,CACxB,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC;QAAE,wBAAwB,EAAE,EAAE,CAAC;QAAC,cAAc,EAAE,EAAE,CAAC;QAAC,eAAe,EAAE,EAAE,CAAA;KAAE,CAAC,CAAC;IAEtF,kFAAkF;IAClF,0BAA0B,CACxB,eAAe,EAAE,EAAE,GAClB,OAAO,CAAC;QAAE,YAAY,EAAE,EAAE,CAAC;QAAC,wBAAwB,EAAE,EAAE,CAAC;QAAC,oBAAoB,EAAE,EAAE,CAAA;KAAE,CAAC,CAAC;IAEzF;;;;;;;;OAQG;IACH,4BAA4B,CAC1B,eAAe,EAAE,YAAY,EAC7B,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,iBAAiB,CAAC,OAAO,oBAAoB,CAAC,CAAC,CAAC;IAE3D;;;;;;;;OAQG;IACH,sBAAsB,CAAC,EAAE,EAAE,uBAAuB,GAAG,OAAO,CAAC,iBAAiB,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC;IAEvG;;;;;OAKG;IACH,4BAA4B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,OAAO,qBAAqB,CAAC,CAAC,CAAC;IAE1G,6BAA6B,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC,CAAC;IAE9F;;;;OAIG;IACH,mBAAmB,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC;IAEnC;;;;;;OAMG;IACH,kBAAkB,CAAC,eAAe,EAAE,KAAK,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAEpE,oBAAoB,CAAC,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAC9G"}
1
+ {"version":3,"file":"proving_data_oracle.d.ts","sourceRoot":"","sources":["../../src/kernel_prover/proving_data_oracle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,EAAE,EACP,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,KAAK,EACV,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,uBAAuB,EAC7B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAEpE;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,8FAA8F;IAC9F,0BAA0B,CACxB,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC;QAAE,wBAAwB,EAAE,EAAE,CAAC;QAAC,UAAU,EAAE,UAAU,CAAC;QAAC,eAAe,EAAE,EAAE,CAAA;KAAE,CAAC,CAAC;IAE1F,kFAAkF;IAClF,0BAA0B,CACxB,eAAe,EAAE,EAAE,GAClB,OAAO,CAAC;QAAE,YAAY,EAAE,EAAE,CAAC;QAAC,wBAAwB,EAAE,EAAE,CAAC;QAAC,oBAAoB,EAAE,EAAE,CAAA;KAAE,CAAC,CAAC;IAEzF;;;;;;;;OAQG;IACH,4BAA4B,CAC1B,eAAe,EAAE,YAAY,EAC7B,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,iBAAiB,CAAC,OAAO,oBAAoB,CAAC,CAAC,CAAC;IAE3D;;;;;;;;OAQG;IACH,sBAAsB,CAAC,EAAE,EAAE,uBAAuB,GAAG,OAAO,CAAC,iBAAiB,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC;IAEvG;;;;;OAKG;IACH,4BAA4B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,OAAO,qBAAqB,CAAC,CAAC,CAAC;IAE1G,6BAA6B,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC,CAAC;IAE9F;;;;OAIG;IACH,mBAAmB,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC;IAEnC;;;;;;OAMG;IACH,kBAAkB,CAAC,eAAe,EAAE,KAAK,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAEpE,oBAAoB,CAAC,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAC9G"}
@@ -1,6 +1,6 @@
1
1
  /// <reference types="node" resolution-mode="require"/>
2
2
  import { type AppCircuitSimulateOutput, type PrivateKernelProver, type PrivateKernelSimulateOutput } from '@aztec/circuit-types';
3
- import { ClientIvcProof, type PrivateCircuitPublicInputs, type PrivateKernelCircuitPublicInputs, type PrivateKernelInitCircuitPrivateInputs, type PrivateKernelInnerCircuitPrivateInputs, type PrivateKernelResetCircuitPrivateInputsVariants, type PrivateKernelTailCircuitPrivateInputs, type PrivateKernelTailCircuitPublicInputs } from '@aztec/circuits.js';
3
+ import { ClientIvcProof, type PrivateKernelCircuitPublicInputs, type PrivateKernelInitCircuitPrivateInputs, type PrivateKernelInnerCircuitPrivateInputs, type PrivateKernelResetCircuitPrivateInputs, type PrivateKernelTailCircuitPrivateInputs, type PrivateKernelTailCircuitPublicInputs } from '@aztec/circuits.js';
4
4
  import { type WitnessMap } from '@noir-lang/types';
5
5
  /**
6
6
  * Test Proof Creator executes circuit simulations and provides fake proofs.
@@ -9,10 +9,9 @@ export declare class TestPrivateKernelProver implements PrivateKernelProver {
9
9
  private log;
10
10
  constructor(log?: import("@aztec/foundation/log").Logger);
11
11
  createClientIvcProof(_acirs: Buffer[], _witnessStack: WitnessMap[]): Promise<ClientIvcProof>;
12
- getSiloedCommitments(publicInputs: PrivateCircuitPublicInputs): Promise<import("@aztec/circuits.js").Fr[]>;
13
12
  simulateProofInit(privateInputs: PrivateKernelInitCircuitPrivateInputs): Promise<PrivateKernelSimulateOutput<PrivateKernelCircuitPublicInputs>>;
14
13
  simulateProofInner(privateInputs: PrivateKernelInnerCircuitPrivateInputs): Promise<PrivateKernelSimulateOutput<PrivateKernelCircuitPublicInputs>>;
15
- simulateProofReset(privateInputs: PrivateKernelResetCircuitPrivateInputsVariants): Promise<PrivateKernelSimulateOutput<PrivateKernelCircuitPublicInputs>>;
14
+ simulateProofReset(privateInputs: PrivateKernelResetCircuitPrivateInputs): Promise<PrivateKernelSimulateOutput<PrivateKernelCircuitPublicInputs>>;
16
15
  simulateProofTail(privateInputs: PrivateKernelTailCircuitPrivateInputs): Promise<PrivateKernelSimulateOutput<PrivateKernelTailCircuitPublicInputs>>;
17
16
  computeAppCircuitVerificationKey(_bytecode: Buffer, _appCircuitName?: string | undefined): Promise<AppCircuitSimulateOutput>;
18
17
  private makeEmptyKernelSimulateOutput;
@@ -1 +1 @@
1
- {"version":3,"file":"test_circuit_prover.d.ts","sourceRoot":"","sources":["../../../src/kernel_prover/test/test_circuit_prover.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,2BAA2B,EACjC,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,cAAc,EACd,KAAK,0BAA0B,EAC/B,KAAK,gCAAgC,EACrC,KAAK,qCAAqC,EAC1C,KAAK,sCAAsC,EAC3C,KAAK,8CAA8C,EACnD,KAAK,qCAAqC,EAC1C,KAAK,oCAAoC,EAE1C,MAAM,oBAAoB,CAAC;AAc5B,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;GAEG;AACH,qBAAa,uBAAwB,YAAW,mBAAmB;IACrD,OAAO,CAAC,GAAG;gBAAH,GAAG,yCAAgD;IAEvE,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC;IAIrF,oBAAoB,CAAC,YAAY,EAAE,0BAA0B;IAMvD,iBAAiB,CAC5B,aAAa,EAAE,qCAAqC,GACnD,OAAO,CAAC,2BAA2B,CAAC,gCAAgC,CAAC,CAAC;IAY5D,kBAAkB,CAC7B,aAAa,EAAE,sCAAsC,GACpD,OAAO,CAAC,2BAA2B,CAAC,gCAAgC,CAAC,CAAC;IAY5D,kBAAkB,CAC7B,aAAa,EAAE,8CAA8C,GAC5D,OAAO,CAAC,2BAA2B,CAAC,gCAAgC,CAAC,CAAC;IAe5D,iBAAiB,CAC5B,aAAa,EAAE,qCAAqC,GACnD,OAAO,CAAC,2BAA2B,CAAC,oCAAoC,CAAC,CAAC;IAkB7E,gCAAgC,CAC9B,SAAS,EAAE,MAAM,EACjB,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,GACnC,OAAO,CAAC,wBAAwB,CAAC;IAOpC,OAAO,CAAC,6BAA6B;CAWtC"}
1
+ {"version":3,"file":"test_circuit_prover.d.ts","sourceRoot":"","sources":["../../../src/kernel_prover/test/test_circuit_prover.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,2BAA2B,EACjC,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAEL,cAAc,EACd,KAAK,gCAAgC,EACrC,KAAK,qCAAqC,EAC1C,KAAK,sCAAsC,EAC3C,KAAK,sCAAsC,EAC3C,KAAK,qCAAqC,EAC1C,KAAK,oCAAoC,EAE1C,MAAM,oBAAoB,CAAC;AAe5B,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;GAEG;AACH,qBAAa,uBAAwB,YAAW,mBAAmB;IACrD,OAAO,CAAC,GAAG;gBAAH,GAAG,yCAAgD;IAEvE,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC;IAI/E,iBAAiB,CAC5B,aAAa,EAAE,qCAAqC,GACnD,OAAO,CAAC,2BAA2B,CAAC,gCAAgC,CAAC,CAAC;IAY5D,kBAAkB,CAC7B,aAAa,EAAE,sCAAsC,GACpD,OAAO,CAAC,2BAA2B,CAAC,gCAAgC,CAAC,CAAC;IAY5D,kBAAkB,CAC7B,aAAa,EAAE,sCAAsC,GACpD,OAAO,CAAC,2BAA2B,CAAC,gCAAgC,CAAC,CAAC;IAgB5D,iBAAiB,CAC5B,aAAa,EAAE,qCAAqC,GACnD,OAAO,CAAC,2BAA2B,CAAC,oCAAoC,CAAC,CAAC;IAkB7E,gCAAgC,CAC9B,SAAS,EAAE,MAAM,EACjB,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,GACnC,OAAO,CAAC,wBAAwB,CAAC;IAOpC,OAAO,CAAC,6BAA6B;CAYtC"}
@@ -1,8 +1,7 @@
1
- import { ClientIvcProof, VerificationKeyAsFields, } from '@aztec/circuits.js';
2
- import { siloNoteHash } from '@aztec/circuits.js/hash';
1
+ import { CLIENT_IVC_VERIFICATION_KEY_LENGTH_IN_FIELDS, ClientIvcProof, VerificationKeyAsFields, } from '@aztec/circuits.js';
3
2
  import { createDebugLogger } from '@aztec/foundation/log';
4
3
  import { elapsed } from '@aztec/foundation/timer';
5
- import { ProtocolCircuitVks, executeInit, executeInner, executeReset, executeTail, executeTailForPublic, } from '@aztec/noir-protocol-circuits-types';
4
+ import { ProtocolCircuitVks, executeInit, executeInner, executeReset, executeTail, executeTailForPublic, getPrivateKernelResetArtifactName, maxPrivateKernelResetDimensions, } from '@aztec/noir-protocol-circuits-types';
6
5
  /**
7
6
  * Test Proof Creator executes circuit simulations and provides fake proofs.
8
7
  */
@@ -13,10 +12,6 @@ export class TestPrivateKernelProver {
13
12
  createClientIvcProof(_acirs, _witnessStack) {
14
13
  return Promise.resolve(ClientIvcProof.empty());
15
14
  }
16
- getSiloedCommitments(publicInputs) {
17
- const contractAddress = publicInputs.callContext.storageContractAddress;
18
- return Promise.resolve(publicInputs.noteHashes.map(commitment => siloNoteHash(contractAddress, commitment.value)));
19
- }
20
15
  async simulateProofInit(privateInputs) {
21
16
  const [duration, result] = await elapsed(() => executeInit(privateInputs));
22
17
  this.log.debug(`Simulated private kernel init`, {
@@ -40,15 +35,16 @@ export class TestPrivateKernelProver {
40
35
  return this.makeEmptyKernelSimulateOutput(result, 'PrivateKernelInnerArtifact');
41
36
  }
42
37
  async simulateProofReset(privateInputs) {
43
- const [duration, result] = await elapsed(() => executeReset(privateInputs));
38
+ const variantPrivateInputs = privateInputs.trimToSizes();
39
+ const [duration, result] = await elapsed(() => executeReset(variantPrivateInputs, privateInputs.dimensions));
44
40
  this.log.debug(`Simulated private kernel reset`, {
45
41
  eventName: 'circuit-simulation',
46
- circuitName: ('private-kernel-reset-' + privateInputs.sizeTag),
42
+ circuitName: 'private-kernel-reset',
47
43
  duration,
48
- inputSize: privateInputs.toBuffer().length,
44
+ inputSize: variantPrivateInputs.toBuffer().length,
49
45
  outputSize: result.toBuffer().length,
50
46
  });
51
- return this.makeEmptyKernelSimulateOutput(result, 'PrivateKernelResetFullArtifact');
47
+ return this.makeEmptyKernelSimulateOutput(result, getPrivateKernelResetArtifactName(maxPrivateKernelResetDimensions));
52
48
  }
53
49
  async simulateProofTail(privateInputs) {
54
50
  const isForPublic = privateInputs.isForPublic();
@@ -64,7 +60,7 @@ export class TestPrivateKernelProver {
64
60
  }
65
61
  computeAppCircuitVerificationKey(_bytecode, _appCircuitName) {
66
62
  const appCircuitProofOutput = {
67
- verificationKey: VerificationKeyAsFields.makeEmpty(),
63
+ verificationKey: VerificationKeyAsFields.makeEmpty(CLIENT_IVC_VERIFICATION_KEY_LENGTH_IN_FIELDS),
68
64
  };
69
65
  return Promise.resolve(appCircuitProofOutput);
70
66
  }
@@ -73,8 +69,9 @@ export class TestPrivateKernelProver {
73
69
  publicInputs,
74
70
  verificationKey: ProtocolCircuitVks[circuitType].keyAsFields,
75
71
  outputWitness: new Map(),
72
+ bytecode: Buffer.from([]),
76
73
  };
77
74
  return kernelProofOutput;
78
75
  }
79
76
  }
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdF9jaXJjdWl0X3Byb3Zlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9rZXJuZWxfcHJvdmVyL3Rlc3QvdGVzdF9jaXJjdWl0X3Byb3Zlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBQ0wsY0FBYyxFQVFkLHVCQUF1QixHQUN4QixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbEQsT0FBTyxFQUVMLGtCQUFrQixFQUNsQixXQUFXLEVBQ1gsWUFBWSxFQUNaLFlBQVksRUFDWixXQUFXLEVBQ1gsb0JBQW9CLEdBQ3JCLE1BQU0scUNBQXFDLENBQUM7QUFJN0M7O0dBRUc7QUFDSCxNQUFNLE9BQU8sdUJBQXVCO0lBQ2xDLFlBQW9CLE1BQU0saUJBQWlCLENBQUMsMEJBQTBCLENBQUM7UUFBbkQsUUFBRyxHQUFILEdBQUcsQ0FBZ0Q7SUFBRyxDQUFDO0lBRTNFLG9CQUFvQixDQUFDLE1BQWdCLEVBQUUsYUFBMkI7UUFDaEUsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFTSxvQkFBb0IsQ0FBQyxZQUF3QztRQUNsRSxNQUFNLGVBQWUsR0FBRyxZQUFZLENBQUMsV0FBVyxDQUFDLHNCQUFzQixDQUFDO1FBRXhFLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxlQUFlLEVBQUUsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNySCxDQUFDO0lBRU0sS0FBSyxDQUFDLGlCQUFp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
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdF9jaXJjdWl0X3Byb3Zlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9rZXJuZWxfcHJvdmVyL3Rlc3QvdGVzdF9jaXJjdWl0X3Byb3Zlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBQ0wsNENBQTRDLEVBQzVDLGNBQWMsRUFPZCx1QkFBdUIsR0FDeEIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbEQsT0FBTyxFQUVMLGtCQUFrQixFQUNsQixXQUFXLEVBQ1gsWUFBWSxFQUNaLFlBQVksRUFDWixXQUFXLEVBQ1gsb0JBQW9CLEVBQ3BCLGlDQUFpQyxFQUNqQywrQkFBK0IsR0FDaEMsTUFBTSxxQ0FBcUMsQ0FBQztBQUk3Qzs7R0FFRztBQUNILE1BQU0sT0FBTyx1QkFBdUI7SUFDbEMsWUFBb0IsTUFBTSxpQkFBaUIsQ0FBQywwQkFBMEIsQ0FBQztRQUFuRCxRQUFHLEdBQUgsR0FBRyxDQUFnRDtJQUFHLENBQUM7SUFFM0Usb0JBQW9CLENBQUMsTUFBZ0IsRUFBRSxhQUEyQjtRQUNoRSxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVNLEtBQUssQ0FBQyxpQkFBaUIsQ0FDNUIsYUFBb0Q7UUFFcEQsTUFBTSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztRQUMzRSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQywrQkFBK0IsRUFBRTtZQUM5QyxTQUFTLEVBQUUsb0JBQW9CO1lBQy9CLFdBQVcsRUFBRSxxQkFBcUI7WUFDbEMsUUFBUTtZQUNSLFNB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
@@ -1,6 +1,6 @@
1
1
  import { type AztecNode, type L2Block } from '@aztec/circuit-types';
2
2
  import { type NoteProcessorStats } from '@aztec/circuit-types/stats';
3
- import { type AztecAddress } from '@aztec/circuits.js';
3
+ import { type CompleteAddress } from '@aztec/circuits.js';
4
4
  import { type Logger } from '@aztec/foundation/log';
5
5
  import { Timer } from '@aztec/foundation/timer';
6
6
  import { type KeyStore } from '@aztec/key-store';
@@ -14,7 +14,7 @@ import { type OutgoingNoteDao } from '../database/outgoing_note_dao.js';
14
14
  * before storing them against their owner.
15
15
  */
16
16
  export declare class NoteProcessor {
17
- readonly account: AztecAddress;
17
+ readonly account: CompleteAddress;
18
18
  /** The public counterpart to the secret key to be used in the decryption of incoming note logs. */
19
19
  private readonly ivpkM;
20
20
  /** The public counterpart to the secret key to be used in the decryption of outgoing note logs. */
@@ -30,7 +30,7 @@ export declare class NoteProcessor {
30
30
  /** Stats accumulated for this processor. */
31
31
  readonly stats: NoteProcessorStats;
32
32
  private constructor();
33
- static create(account: AztecAddress, keyStore: KeyStore, db: PxeDatabase, node: AztecNode, startingBlock?: number, simulator?: AcirSimulator, log?: Logger): Promise<NoteProcessor>;
33
+ static create(account: CompleteAddress, keyStore: KeyStore, db: PxeDatabase, node: AztecNode, startingBlock?: number, simulator?: AcirSimulator, log?: Logger): Promise<NoteProcessor>;
34
34
  /**
35
35
  * Check if the NoteProcessor is synchronized with the remote block number.
36
36
  * The function queries the remote block number from the AztecNode and compares it with the syncedToBlock value in the NoteProcessor.
@@ -1 +1 @@
1
- {"version":3,"file":"note_processor.d.ts","sourceRoot":"","sources":["../../src/note_processor/note_processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAiB,KAAK,OAAO,EAAa,MAAM,sBAAsB,CAAC;AAC9F,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,KAAK,YAAY,EAAgE,MAAM,oBAAoB,CAAC;AAErH,OAAO,EAAE,KAAK,MAAM,EAAqB,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAgBxE;;;GAGG;AACH,qBAAa,aAAa;aAiBN,OAAO,EAAE,YAAY;IACrC,mGAAmG;IACnG,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,mGAAmG;IACnG,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,GAAG;IA1Bb,mEAAmE;IACnE,SAAgB,KAAK,EAAE,KAAK,CAAe;IAE3C,4CAA4C;IAC5C,SAAgB,KAAK,EAAE,kBAAkB,CASvC;IAEF,OAAO;WAca,MAAM,CACxB,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,QAAQ,EAClB,EAAE,EAAE,WAAW,EACf,IAAI,EAAE,SAAS,EACf,aAAa,GAAE,MAA6B,EAC5C,SAAS,gBAAuC,EAChD,GAAG,SAA4C;IAQjD;;;;;;OAMG;IACU,cAAc;IAK3B;;OAEG;IACH,IAAW,MAAM;;MAEhB;IAED,OAAO,CAAC,gBAAgB;IAIxB;;;;;OAKG;IACU,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA8GtD;;;;;;;;OAQG;YACW,qBAAqB;IA8BnC;;;;;OAKG;YACW,oBAAoB;IAuBlC;;;;;;;;OAQG;IACU,mBAAmB,CAAC,gBAAgB,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC;QAC7E,aAAa,EAAE,eAAe,EAAE,CAAC;QACjC,aAAa,EAAE,eAAe,EAAE,CAAC;KAClC,CAAC;CAgDH"}
1
+ {"version":3,"file":"note_processor.d.ts","sourceRoot":"","sources":["../../src/note_processor/note_processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAiB,KAAK,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,KAAK,eAAe,EAAgE,MAAM,oBAAoB,CAAC;AAExH,OAAO,EAAE,KAAK,MAAM,EAAqB,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAgBxE;;;GAGG;AACH,qBAAa,aAAa;aAiBN,OAAO,EAAE,eAAe;IACxC,mGAAmG;IACnG,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,mGAAmG;IACnG,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,GAAG;IA1Bb,mEAAmE;IACnE,SAAgB,KAAK,EAAE,KAAK,CAAe;IAE3C,4CAA4C;IAC5C,SAAgB,KAAK,EAAE,kBAAkB,CASvC;IAEF,OAAO;WAca,MAAM,CACxB,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,QAAQ,EAClB,EAAE,EAAE,WAAW,EACf,IAAI,EAAE,SAAS,EACf,aAAa,GAAE,MAA6B,EAC5C,SAAS,gBAAuC,EAChD,GAAG,SAA4C;IAQjD;;;;;;OAMG;IACU,cAAc;IAK3B;;OAEG;IACH,IAAW,MAAM;;MAEhB;IAED,OAAO,CAAC,gBAAgB;IAIxB;;;;;OAKG;IACU,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA4GtD;;;;;;;;OAQG;YACW,qBAAqB;IA8BnC;;;;;OAKG;YACW,oBAAoB;IAuBlC;;;;;;;;OAQG;IACU,mBAAmB,CAAC,gBAAgB,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC;QAC7E,aAAa,EAAE,eAAe,EAAE,CAAC;QACjC,aAAa,EAAE,eAAe,EAAE,CAAC;KAClC,CAAC;CA2DH"}
@@ -1,9 +1,9 @@
1
- import { L1NotePayload, TaggedLog } from '@aztec/circuit-types';
1
+ import { L1NotePayload } from '@aztec/circuit-types';
2
2
  import { INITIAL_L2_BLOCK_NUM, MAX_NOTE_HASHES_PER_TX } from '@aztec/circuits.js';
3
3
  import { createDebugLogger } from '@aztec/foundation/log';
4
4
  import { Timer } from '@aztec/foundation/timer';
5
5
  import { getAcirSimulator } from '../simulator/index.js';
6
- import { produceNoteDaos } from './produce_note_dao.js';
6
+ import { produceNoteDaos } from './utils/produce_note_daos.js';
7
7
  /**
8
8
  * NoteProcessor is responsible for decrypting logs and converting them to notes via their originating contracts
9
9
  * before storing them against their owner.
@@ -38,8 +38,8 @@ export class NoteProcessor {
38
38
  };
39
39
  }
40
40
  static async create(account, keyStore, db, node, startingBlock = INITIAL_L2_BLOCK_NUM, simulator = getAcirSimulator(db, node, keyStore), log = createDebugLogger('aztec:note_processor')) {
41
- const ivpkM = await keyStore.getMasterIncomingViewingPublicKey(account);
42
- const ovpkM = await keyStore.getMasterOutgoingViewingPublicKey(account);
41
+ const ivpkM = await keyStore.getMasterIncomingViewingPublicKey(account.address);
42
+ const ovpkM = await keyStore.getMasterOutgoingViewingPublicKey(account.address);
43
43
  return new NoteProcessor(account, ivpkM, ovpkM, keyStore, db, node, startingBlock, simulator, log);
44
44
  }
45
45
  /**
@@ -100,17 +100,15 @@ export class NoteProcessor {
100
100
  for (const functionLogs of txFunctionLogs) {
101
101
  for (const log of functionLogs.logs) {
102
102
  this.stats.seen++;
103
- const incomingTaggedNote = TaggedLog.decryptAsIncoming(log.data, ivskM);
104
- const outgoingTaggedNote = TaggedLog.decryptAsOutgoing(log.data, ovskM);
105
- if (incomingTaggedNote || outgoingTaggedNote) {
106
- if (incomingTaggedNote &&
107
- outgoingTaggedNote &&
108
- !incomingTaggedNote.payload.equals(outgoingTaggedNote.payload)) {
109
- throw new Error(`Incoming and outgoing note payloads do not match. Incoming: ${JSON.stringify(incomingTaggedNote.payload)}, Outgoing: ${JSON.stringify(outgoingTaggedNote.payload)}`);
103
+ const incomingNotePayload = L1NotePayload.decryptAsIncoming(log, ivskM);
104
+ const outgoingNotePayload = L1NotePayload.decryptAsOutgoing(log, ovskM);
105
+ if (incomingNotePayload || outgoingNotePayload) {
106
+ if (incomingNotePayload && outgoingNotePayload && !incomingNotePayload.equals(outgoingNotePayload)) {
107
+ throw new Error(`Incoming and outgoing note payloads do not match. Incoming: ${JSON.stringify(incomingNotePayload)}, Outgoing: ${JSON.stringify(outgoingNotePayload)}`);
110
108
  }
111
- const payload = incomingTaggedNote?.payload || outgoingTaggedNote?.payload;
112
- const txHash = block.body.txEffects[indexOfTxInABlock].txHash;
113
- const { incomingNote, outgoingNote, incomingDeferredNote, outgoingDeferredNote } = await produceNoteDaos(this.simulator, incomingTaggedNote ? this.ivpkM : undefined, outgoingTaggedNote ? this.ovpkM : undefined, payload, txHash, noteHashes, dataStartIndexForTx, excludedIndices, this.log);
109
+ const payload = incomingNotePayload || outgoingNotePayload;
110
+ const txEffect = block.body.txEffects[indexOfTxInABlock];
111
+ const { incomingNote, outgoingNote, incomingDeferredNote, outgoingDeferredNote } = await produceNoteDaos(this.simulator, this.db, incomingNotePayload ? this.ivpkM : undefined, outgoingNotePayload ? this.ovpkM : undefined, payload, txEffect.txHash, noteHashes, dataStartIndexForTx, excludedIndices, this.log, txEffect.unencryptedLogs);
114
112
  if (incomingNote) {
115
113
  incomingNotes.push(incomingNote);
116
114
  this.stats.decryptedIncoming++;
@@ -159,7 +157,7 @@ export class NoteProcessor {
159
157
  const incomingNotes = blocksAndNotes.flatMap(b => b.incomingNotes);
160
158
  const outgoingNotes = blocksAndNotes.flatMap(b => b.outgoingNotes);
161
159
  if (incomingNotes.length || outgoingNotes.length) {
162
- await this.db.addNotes(incomingNotes, outgoingNotes, this.account);
160
+ await this.db.addNotes(incomingNotes, outgoingNotes, this.account.address);
163
161
  incomingNotes.forEach(noteDao => {
164
162
  this.log.verbose(`Added incoming note for contract ${noteDao.contractAddress} at slot ${noteDao.storageSlot} with nullifier ${noteDao.siloedNullifier.toString()}`);
165
163
  });
@@ -204,7 +202,7 @@ export class NoteProcessor {
204
202
  const incomingNotes = [];
205
203
  const outgoingNotes = [];
206
204
  for (const deferredNote of deferredNoteDaos) {
207
- const { publicKey, note, contractAddress, storageSlot, noteTypeId, txHash, noteHashes, dataStartIndexForTx } = deferredNote;
205
+ const { publicKey, note, contractAddress, storageSlot, noteTypeId, txHash, noteHashes, dataStartIndexForTx, unencryptedLogs, } = deferredNote;
208
206
  const payload = new L1NotePayload(note, contractAddress, storageSlot, noteTypeId);
209
207
  const isIncoming = publicKey.equals(this.ivpkM);
210
208
  const isOutgoing = publicKey.equals(this.ovpkM);
@@ -212,7 +210,7 @@ export class NoteProcessor {
212
210
  // The note does not belong to this note processor
213
211
  continue;
214
212
  }
215
- const { incomingNote, outgoingNote } = await produceNoteDaos(this.simulator, isIncoming ? this.ivpkM : undefined, isOutgoing ? this.ovpkM : undefined, payload, txHash, noteHashes, dataStartIndexForTx, excludedIndices, this.log);
213
+ const { incomingNote, outgoingNote } = await produceNoteDaos(this.simulator, this.db, isIncoming ? this.ivpkM : undefined, isOutgoing ? this.ovpkM : undefined, payload, txHash, noteHashes, dataStartIndexForTx, excludedIndices, this.log, unencryptedLogs);
216
214
  if (isIncoming) {
217
215
  if (!incomingNote) {
218
216
  throw new Error('Deferred incoming note could not be decoded');
@@ -231,4 +229,4 @@ export class NoteProcessor {
231
229
  return { incomingNotes, outgoingNotes };
232
230
  }
233
231
  }
234
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90ZV9wcm9jZXNzb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbm90ZV9wcm9jZXNzb3Ivbm90ZV9wcm9jZXNzb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFrQixhQUFhLEVBQWdCLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTlGLE9BQU8sRUFBcUIsb0JBQW9CLEVBQUUsc0JBQXNCLEVBQWtCLE1BQU0sb0JBQW9CLENBQUM7QUFFckgsT0FBTyxFQUFlLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdkUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBUWhELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQWN4RDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sYUFBYTtJQWdCeEIsWUFDa0IsT0FBcUI7SUFDckMsbUdBQW1HO0lBQ2xGLEtBQWdCO0lBQ2pDLG1HQUFtRztJQUNsRixLQUFnQixFQUN6QixRQUFrQixFQUNsQixFQUFlLEVBQ2YsSUFBZSxFQUNmLGFBQXFCLEVBQ3JCLFNBQXdCLEVBQ3hCLEdBQVc7UUFWSCxZQUFPLEdBQVAsT0FBTyxDQUFjO1FBRXBCLFVBQUssR0FBTCxLQUFLLENBQVc7UUFFaEIsVUFBSyxHQUFMLEtBQUssQ0FBVztRQUN6QixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixTQUFJLEdBQUosSUFBSSxDQUFXO1FBQ2Ysa0JBQWEsR0FBYixhQUFhLENBQVE7UUFDckIsY0FBUyxHQUFULFNBQVMsQ0FBZTtRQUN4QixRQUFHLEdBQUgsR0FBRyxDQUFRO1FBMUJyQixtRUFBbUU7UUFDbkQsVUFBSyxHQUFVLElBQUksS0FBSyxFQUFFLENBQUM7UUFFM0MsNENBQTRDO1FBQzVCLFVBQUss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
232
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90ZV9wcm9jZXNzb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbm90ZV9wcm9jZXNzb3Ivbm90ZV9wcm9jZXNzb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFrQixhQUFhLEVBQWdCLE1BQU0sc0JBQXNCLENBQUM7QUFFbkYsT0FBTyxFQUF3QixvQkFBb0IsRUFBRSxzQkFBc0IsRUFBa0IsTUFBTSxvQkFBb0IsQ0FBQztBQUV4SCxPQUFPLEVBQWUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFRaEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBYy9EOzs7R0FHRztBQUNILE1BQU0sT0FBTyxhQUFhO0lBZ0J4QixZQUNrQixPQUF3QjtJQUN4QyxtR0FBbUc7SUFDbEYsS0FBZ0I7SUFDakMsbUdBQW1HO0lBQ2xGLEtBQWdCLEVBQ3pCLFFBQWtCLEVBQ2xCLEVBQWUsRUFDZixJQUFlLEVBQ2YsYUFBcUIsRUFDckIsU0FBd0IsRUFDeEIsR0FBVztRQVZILFlBQU8sR0FBUCxPQUFPLENBQWlCO1FBRXZCLFVBQUssR0FBTCxLQUFLLENBQVc7UUFFaEIsVUFBSyxHQUFMLEtBQUssQ0FBVztRQUN6QixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixTQUFJLEdBQUosSUFBSSxDQUFXO1FBQ2Ysa0JBQWEsR0FBYixhQUFhLENBQVE7UUFDckIsY0FBUyxHQUFULFNBQVMsQ0FBZTtRQUN4QixRQUFHLEdBQUgsR0FBRyxDQUFRO1FBMUJyQixtRUFBbUU7UUFDbkQsVUFBSyxHQUFVLElBQUksS0FBSyxFQUFFLENBQUM7UUFFM0MsNENBQTRDO1FBQzVCLFVBQUssR0FBdUI7WUFD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
@@ -0,0 +1,12 @@
1
+ import { L1NotePayload } from '@aztec/circuit-types';
2
+ import { type Fr } from '@aztec/foundation/fields';
3
+ import { type PxeDatabase } from '../../database/pxe_database.js';
4
+ /**
5
+ * Inserts publicly delivered nullable fields into the note payload.
6
+ * @param db - PXE database used to fetch contract instance and artifact.
7
+ * @param payload - Note payload to which nullable fields should be added.
8
+ * @param nullableFields - List of nullable fields to be added to the note payload.
9
+ * @returns Note payload with nullable fields added.
10
+ */
11
+ export declare function addNullableFieldsToPayload(db: PxeDatabase, payload: L1NotePayload, nullableFields: Fr[]): Promise<L1NotePayload>;
12
+ //# sourceMappingURL=add_nullable_field_to_payload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add_nullable_field_to_payload.d.ts","sourceRoot":"","sources":["../../../src/note_processor/utils/add_nullable_field_to_payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAQ,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAGnD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAElE;;;;;;GAMG;AACH,wBAAsB,0BAA0B,CAC9C,EAAE,EAAE,WAAW,EACf,OAAO,EAAE,aAAa,EACtB,cAAc,EAAE,EAAE,EAAE,GACnB,OAAO,CAAC,aAAa,CAAC,CAiDxB"}
@@ -0,0 +1,46 @@
1
+ import { L1NotePayload, Note } from '@aztec/circuit-types';
2
+ import { ContractNotFoundError } from '@aztec/simulator';
3
+ /**
4
+ * Inserts publicly delivered nullable fields into the note payload.
5
+ * @param db - PXE database used to fetch contract instance and artifact.
6
+ * @param payload - Note payload to which nullable fields should be added.
7
+ * @param nullableFields - List of nullable fields to be added to the note payload.
8
+ * @returns Note payload with nullable fields added.
9
+ */
10
+ export async function addNullableFieldsToPayload(db, payload, nullableFields) {
11
+ const instance = await db.getContractInstance(payload.contractAddress);
12
+ if (!instance) {
13
+ throw new ContractNotFoundError(`Could not find instance for ${payload.contractAddress.toString()}. This should never happen here as the partial notes flow should be triggered only for non-deferred notes.`);
14
+ }
15
+ const artifact = await db.getContractArtifact(instance.contractClassId);
16
+ if (!artifact) {
17
+ throw new Error(`Could not find artifact for contract class ${instance.contractClassId.toString()}. This should never happen here as the partial notes flow should be triggered only for non-deferred notes.`);
18
+ }
19
+ const noteFields = Object.values(artifact.notes).find(note => note.id.equals(payload.noteTypeId))?.fields;
20
+ if (!noteFields) {
21
+ throw new Error(`Could not find note fields for note type ${payload.noteTypeId.toString()}.`);
22
+ }
23
+ // We sort note fields by index so that we can iterate over them in order.
24
+ noteFields.sort((a, b) => a.index - b.index);
25
+ // Now we insert the nullable fields into the note based on its indices defined in the ABI.
26
+ const modifiedNoteItems = [...payload.note.items];
27
+ let indexInNullable = 0;
28
+ for (let i = 0; i < noteFields.length; i++) {
29
+ const noteField = noteFields[i];
30
+ if (noteField.nullable) {
31
+ if (i == noteFields.length - 1) {
32
+ // We are processing the last field so we simply insert the rest of the nullable fields at the end
33
+ modifiedNoteItems.push(...nullableFields.slice(indexInNullable));
34
+ }
35
+ else {
36
+ const noteFieldLength = noteFields[i + 1].index - noteField.index;
37
+ const nullableFieldsToInsert = nullableFields.slice(indexInNullable, indexInNullable + noteFieldLength);
38
+ indexInNullable += noteFieldLength;
39
+ // Now we insert the nullable fields at the note field index
40
+ modifiedNoteItems.splice(noteField.index, 0, ...nullableFieldsToInsert);
41
+ }
42
+ }
43
+ }
44
+ return new L1NotePayload(new Note(modifiedNoteItems), payload.contractAddress, payload.storageSlot, payload.noteTypeId);
45
+ }
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkX251bGxhYmxlX2ZpZWxkX3RvX3BheWxvYWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbm90ZV9wcm9jZXNzb3IvdXRpbHMvYWRkX251bGxhYmxlX2ZpZWxkX3RvX3BheWxvYWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUzRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUl6RDs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLDBCQUEwQixDQUM5QyxFQUFlLEVBQ2YsT0FBc0IsRUFDdEIsY0FBb0I7SUFFcEIsTUFBTSxRQUFRLEdBQUcsTUFBTSxFQUFFLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3ZFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNkLE1BQU0sSUFBSSxxQkFBcUIsQ0FDN0IsK0JBQStCLE9BQU8sQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLDRHQUE0RyxDQUM5SyxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sUUFBUSxHQUFHLE1BQU0sRUFBRSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN4RSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDZCxNQUFNLElBQUksS0FBSyxDQUNiLDhDQUE4QyxRQUFRLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSw0R0FBNEcsQ0FDOUwsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUM7SUFFMUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQUMsNENBQTRDLE9BQU8sQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7SUFFRCwwRUFBMEU7SUFDMUUsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTdDLDJGQUEyRjtJQUMzRixNQUFNLGlCQUFpQixHQUFHLENBQUMsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xELElBQUksZUFBZSxHQUFHLENBQUMsQ0FBQztJQUN4QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQzNDLE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoQyxJQUFJLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsSUFBSSxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUMvQixrR0FBa0c7Z0JBQ2xHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztZQUNuRSxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sTUFBTSxlQUFlLEdBQUcsVUFBVSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQztnQkFDbEUsTUFBTSxzQkFBc0IsR0FBRyxjQUFjLENBQUMsS0FBSyxDQUFDLGVBQWUsRUFBRSxlQUFlLEdBQUcsZUFBZSxDQUFDLENBQUM7Z0JBQ3hHLGVBQWUsSUFBSSxlQUFlLENBQUM7Z0JBQ25DLDREQUE0RDtnQkFDNUQsaUJBQWlCLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEdBQUcsc0JBQXNCLENBQUMsQ0FBQztZQUMxRSxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLElBQUksYUFBYSxDQUN0QixJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUMzQixPQUFPLENBQUMsZUFBZSxFQUN2QixPQUFPLENBQUMsV0FBVyxFQUNuQixPQUFPLENBQUMsVUFBVSxDQUNuQixDQUFDO0FBQ0osQ0FBQyJ9
@@ -0,0 +1,26 @@
1
+ import { type L1NotePayload, type TxHash } from '@aztec/circuit-types';
2
+ import { Fr } from '@aztec/foundation/fields';
3
+ import { type AcirSimulator } from '@aztec/simulator';
4
+ export interface NoteInfo {
5
+ noteHashIndex: number;
6
+ nonce: Fr;
7
+ noteHash: Fr;
8
+ siloedNullifier: Fr;
9
+ txHash: TxHash;
10
+ }
11
+ /**
12
+ * Finds nonce, index, inner hash and siloed nullifier for a given note.
13
+ * @dev Finds the index in the note hash tree by computing the note hash with different nonce and see which hash for
14
+ * the current tx matches this value.
15
+ * @remarks This method assists in identifying spent notes in the note hash tree.
16
+ * @param siloedNoteHashes - Note hashes in the tx. One of them should correspond to the note we are looking for
17
+ * @param txHash - Hash of a tx the note was emitted in.
18
+ * @param l1NotePayload - The note payload.
19
+ * @param excludedIndices - Indices that have been assigned a note in the same tx. Notes in a tx can have the same
20
+ * l1NotePayload. We need to find a different index for each replicate.
21
+ * @param computeNullifier - A flag indicating whether to compute the nullifier or just return 0.
22
+ * @returns Nonce, index, inner hash and siloed nullifier for a given note.
23
+ * @throws If cannot find the nonce for the note.
24
+ */
25
+ export declare function bruteForceNoteInfo(simulator: AcirSimulator, siloedNoteHashes: Fr[], txHash: TxHash, { contractAddress, storageSlot, noteTypeId, note }: L1NotePayload, excludedIndices: Set<number>, computeNullifier: boolean): Promise<NoteInfo>;
26
+ //# sourceMappingURL=brute_force_note_info.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brute_force_note_info.d.ts","sourceRoot":"","sources":["../../../src/note_processor/utils/brute_force_note_info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEvE,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,MAAM,WAAW,QAAQ;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,EAAE,CAAC;IACV,QAAQ,EAAE,EAAE,CAAC;IACb,eAAe,EAAE,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,aAAa,EACxB,gBAAgB,EAAE,EAAE,EAAE,EACtB,MAAM,EAAE,MAAM,EACd,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,aAAa,EACjE,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,EAC5B,gBAAgB,EAAE,OAAO,GACxB,OAAO,CAAC,QAAQ,CAAC,CA+CnB"}