@aztec/simulator 0.55.1 → 0.57.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 (255) hide show
  1. package/dest/acvm/oracle/oracle.d.ts +2 -5
  2. package/dest/acvm/oracle/oracle.d.ts.map +1 -1
  3. package/dest/acvm/oracle/oracle.js +6 -37
  4. package/dest/acvm/oracle/typed_oracle.d.ts +3 -6
  5. package/dest/acvm/oracle/typed_oracle.d.ts.map +1 -1
  6. package/dest/acvm/oracle/typed_oracle.js +1 -10
  7. package/dest/avm/avm_execution_environment.d.ts +2 -11
  8. package/dest/avm/avm_execution_environment.d.ts.map +1 -1
  9. package/dest/avm/avm_execution_environment.js +3 -22
  10. package/dest/avm/avm_gas.d.ts +2 -2
  11. package/dest/avm/avm_gas.d.ts.map +1 -1
  12. package/dest/avm/avm_gas.js +31 -116
  13. package/dest/avm/avm_machine_state.d.ts.map +1 -1
  14. package/dest/avm/avm_machine_state.js +6 -6
  15. package/dest/avm/avm_memory_types.d.ts +38 -9
  16. package/dest/avm/avm_memory_types.d.ts.map +1 -1
  17. package/dest/avm/avm_memory_types.js +27 -13
  18. package/dest/avm/avm_simulator.d.ts.map +1 -1
  19. package/dest/avm/avm_simulator.js +5 -6
  20. package/dest/avm/bytecode_utils.d.ts +1 -2
  21. package/dest/avm/bytecode_utils.d.ts.map +1 -1
  22. package/dest/avm/bytecode_utils.js +3 -17
  23. package/dest/avm/errors.d.ts +1 -1
  24. package/dest/avm/errors.d.ts.map +1 -1
  25. package/dest/avm/errors.js +12 -3
  26. package/dest/avm/fixtures/index.d.ts +4 -16
  27. package/dest/avm/fixtures/index.d.ts.map +1 -1
  28. package/dest/avm/fixtures/index.js +11 -27
  29. package/dest/avm/journal/index.d.ts +0 -1
  30. package/dest/avm/journal/index.d.ts.map +1 -1
  31. package/dest/avm/journal/index.js +1 -2
  32. package/dest/avm/journal/journal.d.ts +6 -5
  33. package/dest/avm/journal/journal.d.ts.map +1 -1
  34. package/dest/avm/journal/journal.js +18 -16
  35. package/dest/avm/opcodes/accrued_substate.d.ts.map +1 -1
  36. package/dest/avm/opcodes/accrued_substate.js +37 -30
  37. package/dest/avm/opcodes/addressing_mode.d.ts +3 -2
  38. package/dest/avm/opcodes/addressing_mode.d.ts.map +1 -1
  39. package/dest/avm/opcodes/addressing_mode.js +25 -21
  40. package/dest/avm/opcodes/arithmetic.d.ts.map +1 -1
  41. package/dest/avm/opcodes/arithmetic.js +6 -5
  42. package/dest/avm/opcodes/bitwise.d.ts +10 -4
  43. package/dest/avm/opcodes/bitwise.d.ts.map +1 -1
  44. package/dest/avm/opcodes/bitwise.js +26 -18
  45. package/dest/avm/opcodes/commitment.d.ts.map +1 -1
  46. package/dest/avm/opcodes/commitment.js +6 -5
  47. package/dest/avm/opcodes/comparators.d.ts.map +1 -1
  48. package/dest/avm/opcodes/comparators.js +8 -7
  49. package/dest/avm/opcodes/contract.d.ts.map +1 -1
  50. package/dest/avm/opcodes/contract.js +6 -5
  51. package/dest/avm/opcodes/control_flow.js +6 -6
  52. package/dest/avm/opcodes/conversion.d.ts +3 -2
  53. package/dest/avm/opcodes/conversion.d.ts.map +1 -1
  54. package/dest/avm/opcodes/conversion.js +21 -13
  55. package/dest/avm/opcodes/ec_add.d.ts.map +1 -1
  56. package/dest/avm/opcodes/ec_add.js +8 -7
  57. package/dest/avm/opcodes/environment_getters.d.ts +27 -63
  58. package/dest/avm/opcodes/environment_getters.d.ts.map +1 -1
  59. package/dest/avm/opcodes/environment_getters.js +76 -80
  60. package/dest/avm/opcodes/external_calls.d.ts.map +1 -1
  61. package/dest/avm/opcodes/external_calls.js +27 -16
  62. package/dest/avm/opcodes/hashing.d.ts +5 -5
  63. package/dest/avm/opcodes/hashing.d.ts.map +1 -1
  64. package/dest/avm/opcodes/hashing.js +47 -40
  65. package/dest/avm/opcodes/index.d.ts +3 -0
  66. package/dest/avm/opcodes/index.d.ts.map +1 -1
  67. package/dest/avm/opcodes/index.js +4 -1
  68. package/dest/avm/opcodes/instruction.d.ts +2 -6
  69. package/dest/avm/opcodes/instruction.d.ts.map +1 -1
  70. package/dest/avm/opcodes/instruction.js +3 -9
  71. package/dest/avm/opcodes/instruction_impl.d.ts +0 -26
  72. package/dest/avm/opcodes/instruction_impl.d.ts.map +1 -1
  73. package/dest/avm/opcodes/instruction_impl.js +1 -51
  74. package/dest/avm/opcodes/memory.d.ts +5 -12
  75. package/dest/avm/opcodes/memory.d.ts.map +1 -1
  76. package/dest/avm/opcodes/memory.js +40 -53
  77. package/dest/avm/opcodes/misc.d.ts.map +1 -1
  78. package/dest/avm/opcodes/misc.js +6 -5
  79. package/dest/avm/opcodes/multi_scalar_mul.d.ts.map +1 -1
  80. package/dest/avm/opcodes/multi_scalar_mul.js +17 -16
  81. package/dest/avm/opcodes/storage.d.ts.map +1 -1
  82. package/dest/avm/opcodes/storage.js +11 -9
  83. package/dest/avm/serialization/bytecode_serialization.d.ts.map +1 -1
  84. package/dest/avm/serialization/bytecode_serialization.js +5 -25
  85. package/dest/avm/serialization/instruction_serialization.d.ts +40 -54
  86. package/dest/avm/serialization/instruction_serialization.d.ts.map +1 -1
  87. package/dest/avm/serialization/instruction_serialization.js +41 -57
  88. package/dest/avm/test_utils.d.ts +8 -8
  89. package/dest/avm/test_utils.d.ts.map +1 -1
  90. package/dest/avm/test_utils.js +15 -15
  91. package/dest/client/client_execution_context.d.ts +6 -30
  92. package/dest/client/client_execution_context.d.ts.map +1 -1
  93. package/dest/client/client_execution_context.js +31 -53
  94. package/dest/client/index.d.ts +0 -1
  95. package/dest/client/index.d.ts.map +1 -1
  96. package/dest/client/index.js +1 -2
  97. package/dest/client/private_execution.d.ts +2 -2
  98. package/dest/client/private_execution.d.ts.map +1 -1
  99. package/dest/client/private_execution.js +5 -19
  100. package/dest/client/simulator.d.ts +3 -4
  101. package/dest/client/simulator.d.ts.map +1 -1
  102. package/dest/client/simulator.js +1 -1
  103. package/dest/client/test_utils.d.ts.map +1 -1
  104. package/dest/client/test_utils.js +12 -6
  105. package/dest/client/unconstrained_execution.d.ts +2 -2
  106. package/dest/client/unconstrained_execution.d.ts.map +1 -1
  107. package/dest/client/unconstrained_execution.js +3 -3
  108. package/dest/common/debug_fn_name.d.ts +4 -0
  109. package/dest/common/debug_fn_name.d.ts.map +1 -0
  110. package/dest/common/debug_fn_name.js +15 -0
  111. package/dest/common/index.d.ts +0 -1
  112. package/dest/common/index.d.ts.map +1 -1
  113. package/dest/common/index.js +1 -2
  114. package/dest/public/enqueued_call_simulator.d.ts +43 -0
  115. package/dest/public/enqueued_call_simulator.d.ts.map +1 -0
  116. package/dest/public/enqueued_call_simulator.js +154 -0
  117. package/dest/public/enqueued_calls_processor.d.ts +44 -0
  118. package/dest/public/enqueued_calls_processor.d.ts.map +1 -0
  119. package/dest/public/enqueued_calls_processor.js +218 -0
  120. package/dest/public/execution.d.ts +10 -8
  121. package/dest/public/execution.d.ts.map +1 -1
  122. package/dest/public/execution.js +15 -8
  123. package/dest/public/executor.d.ts +4 -7
  124. package/dest/public/executor.d.ts.map +1 -1
  125. package/dest/public/executor.js +10 -14
  126. package/dest/public/hints_builder.d.ts +4 -3
  127. package/dest/public/hints_builder.d.ts.map +1 -1
  128. package/dest/public/hints_builder.js +5 -5
  129. package/dest/public/index.d.ts +3 -2
  130. package/dest/public/index.d.ts.map +1 -1
  131. package/dest/public/index.js +3 -3
  132. package/dest/public/public_db_sources.d.ts +17 -24
  133. package/dest/public/public_db_sources.d.ts.map +1 -1
  134. package/dest/public/public_db_sources.js +58 -65
  135. package/dest/public/public_kernel.d.ts +3 -9
  136. package/dest/public/public_kernel.d.ts.map +1 -1
  137. package/dest/public/public_kernel.js +13 -40
  138. package/dest/public/public_kernel_circuit_simulator.d.ts +5 -11
  139. package/dest/public/public_kernel_circuit_simulator.d.ts.map +1 -1
  140. package/dest/public/public_kernel_tail_simulator.d.ts +19 -0
  141. package/dest/public/public_kernel_tail_simulator.d.ts.map +1 -0
  142. package/dest/public/public_kernel_tail_simulator.js +45 -0
  143. package/dest/public/public_processor.d.ts +9 -5
  144. package/dest/public/public_processor.d.ts.map +1 -1
  145. package/dest/public/public_processor.js +34 -48
  146. package/dest/public/public_processor_metrics.d.ts +3 -3
  147. package/dest/public/public_processor_metrics.d.ts.map +1 -1
  148. package/dest/public/public_processor_metrics.js +1 -1
  149. package/dest/public/side_effect_errors.d.ts +4 -0
  150. package/dest/public/side_effect_errors.d.ts.map +1 -0
  151. package/dest/public/side_effect_errors.js +7 -0
  152. package/dest/public/side_effect_trace.d.ts +2 -2
  153. package/dest/public/side_effect_trace.d.ts.map +1 -1
  154. package/dest/public/side_effect_trace.js +56 -35
  155. package/dest/public/side_effect_trace_interface.d.ts +1 -1
  156. package/dest/public/side_effect_trace_interface.d.ts.map +1 -1
  157. package/package.json +12 -9
  158. package/src/acvm/oracle/oracle.ts +7 -85
  159. package/src/acvm/oracle/typed_oracle.ts +2 -31
  160. package/src/avm/avm_execution_environment.ts +2 -24
  161. package/src/avm/avm_gas.ts +30 -115
  162. package/src/avm/avm_machine_state.ts +5 -5
  163. package/src/avm/avm_memory_types.ts +41 -14
  164. package/src/avm/avm_simulator.ts +4 -5
  165. package/src/avm/bytecode_utils.ts +2 -17
  166. package/src/avm/errors.ts +11 -3
  167. package/src/avm/fixtures/index.ts +13 -46
  168. package/src/avm/journal/index.ts +0 -1
  169. package/src/avm/journal/journal.ts +22 -22
  170. package/src/avm/opcodes/accrued_substate.ts +36 -44
  171. package/src/avm/opcodes/addressing_mode.ts +27 -24
  172. package/src/avm/opcodes/arithmetic.ts +5 -7
  173. package/src/avm/opcodes/bitwise.ts +23 -20
  174. package/src/avm/opcodes/commitment.ts +6 -7
  175. package/src/avm/opcodes/comparators.ts +7 -9
  176. package/src/avm/opcodes/contract.ts +5 -7
  177. package/src/avm/opcodes/control_flow.ts +5 -5
  178. package/src/avm/opcodes/conversion.ts +19 -12
  179. package/src/avm/opcodes/ec_add.ts +14 -16
  180. package/src/avm/opcodes/environment_getters.ts +73 -99
  181. package/src/avm/opcodes/external_calls.ts +27 -20
  182. package/src/avm/opcodes/hashing.ts +52 -52
  183. package/src/avm/opcodes/index.ts +3 -0
  184. package/src/avm/opcodes/instruction.ts +3 -10
  185. package/src/avm/opcodes/instruction_impl.ts +0 -62
  186. package/src/avm/opcodes/memory.ts +37 -67
  187. package/src/avm/opcodes/misc.ts +5 -7
  188. package/src/avm/opcodes/multi_scalar_mul.ts +16 -19
  189. package/src/avm/opcodes/storage.ts +10 -8
  190. package/src/avm/serialization/bytecode_serialization.ts +11 -35
  191. package/src/avm/serialization/instruction_serialization.ts +3 -19
  192. package/src/avm/test_utils.ts +20 -16
  193. package/src/client/client_execution_context.ts +40 -96
  194. package/src/client/index.ts +0 -1
  195. package/src/client/private_execution.ts +9 -9
  196. package/src/client/simulator.ts +2 -3
  197. package/src/client/test_utils.ts +36 -9
  198. package/src/client/unconstrained_execution.ts +3 -8
  199. package/src/common/debug_fn_name.ts +22 -0
  200. package/src/common/index.ts +0 -1
  201. package/src/public/enqueued_call_simulator.ts +335 -0
  202. package/src/public/enqueued_calls_processor.ts +388 -0
  203. package/src/public/execution.ts +16 -12
  204. package/src/public/executor.ts +8 -22
  205. package/src/public/hints_builder.ts +21 -21
  206. package/src/public/index.ts +3 -2
  207. package/src/public/public_db_sources.ts +62 -67
  208. package/src/public/public_kernel.ts +15 -49
  209. package/src/public/public_kernel_circuit_simulator.ts +6 -10
  210. package/src/public/public_kernel_tail_simulator.ts +106 -0
  211. package/src/public/public_processor.ts +65 -86
  212. package/src/public/public_processor_metrics.ts +3 -3
  213. package/src/public/side_effect_errors.ts +6 -0
  214. package/src/public/side_effect_trace.ts +77 -39
  215. package/src/public/side_effect_trace_interface.ts +2 -2
  216. package/dest/avm/journal/host_storage.d.ts +0 -13
  217. package/dest/avm/journal/host_storage.d.ts.map +0 -1
  218. package/dest/avm/journal/host_storage.js +0 -13
  219. package/dest/avm/opcodes/context_getters.d.ts +0 -15
  220. package/dest/avm/opcodes/context_getters.d.ts.map +0 -1
  221. package/dest/avm/opcodes/context_getters.js +0 -19
  222. package/dest/client/execution_result.d.ts +0 -104
  223. package/dest/client/execution_result.d.ts.map +0 -1
  224. package/dest/client/execution_result.js +0 -136
  225. package/dest/common/return_values.d.ts +0 -11
  226. package/dest/common/return_values.d.ts.map +0 -1
  227. package/dest/common/return_values.js +0 -13
  228. package/dest/public/abstract_phase_manager.d.ts +0 -93
  229. package/dest/public/abstract_phase_manager.d.ts.map +0 -1
  230. package/dest/public/abstract_phase_manager.js +0 -285
  231. package/dest/public/app_logic_phase_manager.d.ts +0 -25
  232. package/dest/public/app_logic_phase_manager.d.ts.map +0 -1
  233. package/dest/public/app_logic_phase_manager.js +0 -52
  234. package/dest/public/phase_manager_factory.d.ts +0 -18
  235. package/dest/public/phase_manager_factory.d.ts.map +0 -1
  236. package/dest/public/phase_manager_factory.js +0 -56
  237. package/dest/public/setup_phase_manager.d.ts +0 -25
  238. package/dest/public/setup_phase_manager.d.ts.map +0 -1
  239. package/dest/public/setup_phase_manager.js +0 -39
  240. package/dest/public/tail_phase_manager.d.ts +0 -23
  241. package/dest/public/tail_phase_manager.d.ts.map +0 -1
  242. package/dest/public/tail_phase_manager.js +0 -50
  243. package/dest/public/teardown_phase_manager.d.ts +0 -27
  244. package/dest/public/teardown_phase_manager.d.ts.map +0 -1
  245. package/dest/public/teardown_phase_manager.js +0 -56
  246. package/src/avm/journal/host_storage.ts +0 -14
  247. package/src/avm/opcodes/context_getters.ts +0 -23
  248. package/src/client/execution_result.ts +0 -228
  249. package/src/common/return_values.ts +0 -18
  250. package/src/public/abstract_phase_manager.ts +0 -522
  251. package/src/public/app_logic_phase_manager.ts +0 -81
  252. package/src/public/phase_manager_factory.ts +0 -126
  253. package/src/public/setup_phase_manager.ts +0 -61
  254. package/src/public/tail_phase_manager.ts +0 -127
  255. package/src/public/teardown_phase_manager.ts +0 -86
@@ -1,6 +1,6 @@
1
1
  import { createDebugLogger } from '@aztec/foundation/log';
2
2
  import { elapsed } from '@aztec/foundation/timer';
3
- import { SimulatedServerCircuitArtifacts, convertSimulatedPublicInnerInputsToWitnessMap, convertSimulatedPublicInnerOutputFromWitnessMap, convertSimulatedPublicSetupInputsToWitnessMap, convertSimulatedPublicSetupOutputFromWitnessMap, convertSimulatedPublicTailInputsToWitnessMap, convertSimulatedPublicTailOutputFromWitnessMap, convertSimulatedPublicTeardownInputsToWitnessMap, convertSimulatedPublicTeardownOutputFromWitnessMap, } from '@aztec/noir-protocol-circuits-types';
3
+ import { SimulatedServerCircuitArtifacts, convertSimulatedPublicInnerInputsToWitnessMap, convertSimulatedPublicInnerOutputFromWitnessMap, convertSimulatedPublicMergeInputsToWitnessMap, convertSimulatedPublicMergeOutputFromWitnessMap, convertSimulatedPublicTailInputsToWitnessMap, convertSimulatedPublicTailOutputFromWitnessMap, } from '@aztec/noir-protocol-circuits-types';
4
4
  import { WASMSimulator } from '../providers/acvm_wasm.js';
5
5
  /**
6
6
  * Implements the PublicKernelCircuitSimulator.
@@ -17,37 +17,13 @@ export class RealPublicKernelCircuitSimulator {
17
17
  * @param input - Inputs to the circuit.
18
18
  * @returns The public inputs as outputs of the simulation.
19
19
  */
20
- async publicKernelCircuitSetup(input) {
21
- if (!input.previousKernel.publicInputs.needsSetup) {
22
- throw new Error(`Expected previous kernel inputs to need setup`);
23
- }
24
- const inputWitness = convertSimulatedPublicSetupInputsToWitnessMap(input);
25
- const [duration, witness] = await elapsed(() => this.wasmSimulator.simulateCircuit(inputWitness, SimulatedServerCircuitArtifacts.PublicKernelSetupArtifact));
26
- const result = convertSimulatedPublicSetupOutputFromWitnessMap(witness);
27
- this.log.debug(`Simulated public kernel setup circuit`, {
28
- eventName: 'circuit-simulation',
29
- circuitName: 'public-kernel-setup',
30
- duration,
31
- inputSize: input.toBuffer().length,
32
- outputSize: result.toBuffer().length,
33
- });
34
- return result;
35
- }
36
- /**
37
- * Simulates the public kernel app logic circuit from its inputs.
38
- * @param input - Inputs to the circuit.
39
- * @returns The public inputs as outputs of the simulation.
40
- */
41
- async publicKernelCircuitAppLogic(input) {
42
- if (!input.previousKernel.publicInputs.needsAppLogic) {
43
- throw new Error(`Expected previous kernel inputs to need app logic`);
44
- }
20
+ async publicKernelCircuitInner(input) {
45
21
  const inputWitness = convertSimulatedPublicInnerInputsToWitnessMap(input);
46
- const [duration, witness] = await elapsed(() => this.wasmSimulator.simulateCircuit(inputWitness, SimulatedServerCircuitArtifacts.PublicKernelAppLogicArtifact));
22
+ const [duration, witness] = await elapsed(() => this.wasmSimulator.simulateCircuit(inputWitness, SimulatedServerCircuitArtifacts.PublicKernelInnerArtifact));
47
23
  const result = convertSimulatedPublicInnerOutputFromWitnessMap(witness);
48
- this.log.debug(`Simulated public kernel app logic circuit`, {
24
+ this.log.debug(`Simulated public kernel inner circuit`, {
49
25
  eventName: 'circuit-simulation',
50
- circuitName: 'public-kernel-app-logic',
26
+ circuitName: 'public-kernel-inner',
51
27
  duration,
52
28
  inputSize: input.toBuffer().length,
53
29
  outputSize: result.toBuffer().length,
@@ -55,20 +31,17 @@ export class RealPublicKernelCircuitSimulator {
55
31
  return result;
56
32
  }
57
33
  /**
58
- * Simulates the public kernel teardown circuit from its inputs.
34
+ * Simulates the public kernel app logic circuit from its inputs.
59
35
  * @param input - Inputs to the circuit.
60
36
  * @returns The public inputs as outputs of the simulation.
61
37
  */
62
- async publicKernelCircuitTeardown(input) {
63
- if (!input.previousKernel.publicInputs.needsTeardown) {
64
- throw new Error(`Expected previous kernel inputs to need teardown`);
65
- }
66
- const inputWitness = convertSimulatedPublicTeardownInputsToWitnessMap(input);
67
- const [duration, witness] = await elapsed(() => this.wasmSimulator.simulateCircuit(inputWitness, SimulatedServerCircuitArtifacts.PublicKernelTeardownArtifact));
68
- const result = convertSimulatedPublicTeardownOutputFromWitnessMap(witness);
69
- this.log.debug(`Simulated public kernel teardown circuit`, {
38
+ async publicKernelCircuitMerge(input) {
39
+ const inputWitness = convertSimulatedPublicMergeInputsToWitnessMap(input);
40
+ const [duration, witness] = await elapsed(() => this.wasmSimulator.simulateCircuit(inputWitness, SimulatedServerCircuitArtifacts.PublicKernelMergeArtifact));
41
+ const result = convertSimulatedPublicMergeOutputFromWitnessMap(witness);
42
+ this.log.debug(`Simulated public kernel merge circuit`, {
70
43
  eventName: 'circuit-simulation',
71
- circuitName: 'public-kernel-teardown',
44
+ circuitName: 'public-kernel-merge',
72
45
  duration,
73
46
  inputSize: input.toBuffer().length,
74
47
  outputSize: result.toBuffer().length,
@@ -94,4 +67,4 @@ export class RealPublicKernelCircuitSimulator {
94
67
  return result;
95
68
  }
96
69
  }
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2tlcm5lbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMvcHVibGljX2tlcm5lbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbEQsT0FBTyxFQUNMLCtCQUErQixFQUMvQiw2Q0FBNkMsRUFDN0MsK0NBQStDLEVBQy9DLDZDQUE2QyxFQUM3QywrQ0FBK0MsRUFDL0MsNENBQTRDLEVBQzVDLDhDQUE4QyxFQUM5QyxnREFBZ0QsRUFDaEQsa0RBQWtELEdBQ25ELE1BQU0scUNBQXFDLENBQUM7QUFFN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSTFEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGdDQUFnQztJQU0zQyxZQUFvQixTQUE2QjtRQUE3QixjQUFTLEdBQVQsU0FBUyxDQUFvQjtRQUx6QyxRQUFHLEdBQUcsaUJBQWlCLENBQUMsK0JBQStCLENBQUMsQ0FBQztRQUVqRSxzREFBc0Q7UUFDOUMsa0JBQWEsR0FBa0IsSUFBSSxhQUFhLEVBQUUsQ0FBQztJQUVQLENBQUM7SUFFckQ7Ozs7T0FJRztJQUNJLEtBQUssQ0FBQyx3QkFBd0IsQ0FDbkMsS0FBdUM7UUFFdkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2xELE1BQU0sSUFBSSxLQUFLLENBQUMsK0NBQStDLENBQUMsQ0FBQztRQUNuRSxDQUFDO1FBQ0QsTUFBTSxZQUFZLEdBQUcsNkNBQTZDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUUsTUFBTSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FDN0MsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENB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
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2tlcm5lbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMvcHVibGljX2tlcm5lbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFTQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbEQsT0FBTyxFQUNMLCtCQUErQixFQUMvQiw2Q0FBNkMsRUFDN0MsK0NBQStDLEVBQy9DLDZDQUE2QyxFQUM3QywrQ0FBK0MsRUFDL0MsNENBQTRDLEVBQzVDLDhDQUE4QyxHQUMvQyxNQUFNLHFDQUFxQyxDQUFDO0FBRTdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUkxRDs7R0FFRztBQUNILE1BQU0sT0FBTyxnQ0FBZ0M7SUFNM0MsWUFBb0IsU0FBNkI7UUFBN0IsY0FBUyxHQUFULFNBQVMsQ0FBb0I7UUFMekMsUUFBRyxHQUFHLGlCQUFpQixDQUFDLCtCQUErQixDQUFDLENBQUM7UUFFakUsc0RBQXNEO1FBQzlDLGtCQUFhLEdBQWtCLElBQUksYUFBYSxFQUFFLENBQUM7SUFFUCxDQUFDO0lBRXJEOzs7O09BSUc7SUFDSSxLQUFLLENBQUMsd0JBQXdCLENBQUMsS0FBNEM7UUFDaEYsTUFBTSxZQUFZLEdBQUcsNkNBQTZDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUUsTUFBTSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FDN0MsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLCtCQUErQixDQUFDLHlCQUF5QixDQUFDLENBQzVHLENBQUM7UUFDRixNQUFNLE1BQU0sR0FBRywrQ0FBK0MsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN4RSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyx1Q0FBdUMsRUFBRTtZQUN0RCxTQUFTLEVBQUUsb0JBQW9CO1lBQy9CLFdBQVcsRUFBRSxxQkFBcUI7WUFDbEMsUUFBUTtZQUNSLFNBQVMsRUFBRSxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTTtZQUNsQyxVQUFVLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU07U0FDSixDQUFDLENBQUM7UUFDcEMsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxLQUFLLENBQUMsd0JBQXdCLENBQ25DLEtBQXVDO1FBRXZDLE1BQU0sWUFBWSxHQUFHLDZDQUE2QyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQzdDLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSwrQkFBK0IsQ0FBQyx5QkFBeUIsQ0FBQyxDQUM1RyxDQUFDO1FBQ0YsTUFBTSxNQUFNLEdBQUcsK0NBQStDLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsdUNBQXVDLEVBQUU7WUFDdEQsU0FBUyxFQUFFLG9CQUFvQjtZQUMvQixXQUFXLEVBQUUscUJBQXFCO1lBQ2xDLFFBQVE7WUFDUixTQUFTLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU07WUFDbEMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNO1NBQ0osQ0FBQyxDQUFDO1FBQ3BDLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksS0FBSyxDQUFDLHVCQUF1QixDQUNsQyxLQUEyQztRQUUzQyxNQUFNLFlBQVksR0FBRyw0Q0FBNEMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6RSxNQUFNLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUM3QyxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsK0JBQStCLENBQUMsd0JBQXdCLENBQUMsQ0FDM0csQ0FBQztRQUNGLE1BQU0sTUFBTSxHQUFHLDhDQUE4QyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLHNDQUFzQyxFQUFFO1lBQ3JELFNBQVMsRUFBRSxvQkFBb0I7WUFDL0IsV0FBVyxFQUFFLG9CQUFvQjtZQUNqQyxRQUFRO1lBQ1IsU0FBUyxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNO1lBQ2xDLFVBQVUsRUFBRSxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTTtTQUNKLENBQUMsQ0FBQztRQUNwQyxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0NBQ0YifQ==
@@ -1,26 +1,20 @@
1
- import { type KernelCircuitPublicInputs, type PublicKernelCircuitPrivateInputs, type PublicKernelCircuitPublicInputs, type PublicKernelTailCircuitPrivateInputs } from '@aztec/circuits.js';
1
+ import { type KernelCircuitPublicInputs, type PublicKernelCircuitPrivateInputs, type PublicKernelCircuitPublicInputs, type PublicKernelInnerCircuitPrivateInputs, type PublicKernelTailCircuitPrivateInputs, type VMCircuitPublicInputs } from '@aztec/circuits.js';
2
2
  /**
3
3
  * Circuit simulator for the public kernel circuits.
4
4
  */
5
5
  export interface PublicKernelCircuitSimulator {
6
6
  /**
7
- * Simulates the public kernel setup circuit from its inputs.
7
+ * Simulates the public kernel inner circuit from its inputs.
8
8
  * @param inputs - Inputs to the circuit.
9
9
  * @returns The public inputs as outputs of the simulation.
10
10
  */
11
- publicKernelCircuitSetup(inputs: PublicKernelCircuitPrivateInputs): Promise<PublicKernelCircuitPublicInputs>;
11
+ publicKernelCircuitInner(inputs: PublicKernelInnerCircuitPrivateInputs): Promise<VMCircuitPublicInputs>;
12
12
  /**
13
- * Simulates the public kernel app logic circuit from its inputs.
13
+ * Simulates the public kernel merge circuit from its inputs.
14
14
  * @param inputs - Inputs to the circuit.
15
15
  * @returns The public inputs as outputs of the simulation.
16
16
  */
17
- publicKernelCircuitAppLogic(inputs: PublicKernelCircuitPrivateInputs): Promise<PublicKernelCircuitPublicInputs>;
18
- /**
19
- * Simulates the public kernel teardown circuit from its inputs.
20
- * @param inputs - Inputs to the circuit.
21
- * @returns The public inputs as outputs of the simulation.
22
- */
23
- publicKernelCircuitTeardown(inputs: PublicKernelCircuitPrivateInputs): Promise<PublicKernelCircuitPublicInputs>;
17
+ publicKernelCircuitMerge(inputs: PublicKernelCircuitPrivateInputs): Promise<PublicKernelCircuitPublicInputs>;
24
18
  /**
25
19
  * Simulates the public kernel tail circuit from its inputs.
26
20
  * @param inputs - Inputs to the circuit.
@@ -1 +1 @@
1
- {"version":3,"file":"public_kernel_circuit_simulator.d.ts","sourceRoot":"","sources":["../../src/public/public_kernel_circuit_simulator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,gCAAgC,EACrC,KAAK,+BAA+B,EACpC,KAAK,oCAAoC,EAC1C,MAAM,oBAAoB,CAAC;AAE5B;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C;;;;OAIG;IACH,wBAAwB,CAAC,MAAM,EAAE,gCAAgC,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAC7G;;;;OAIG;IACH,2BAA2B,CAAC,MAAM,EAAE,gCAAgC,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAChH;;;;OAIG;IACH,2BAA2B,CAAC,MAAM,EAAE,gCAAgC,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAChH;;;;OAIG;IACH,uBAAuB,CAAC,MAAM,EAAE,oCAAoC,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;CAC3G"}
1
+ {"version":3,"file":"public_kernel_circuit_simulator.d.ts","sourceRoot":"","sources":["../../src/public/public_kernel_circuit_simulator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,gCAAgC,EACrC,KAAK,+BAA+B,EACpC,KAAK,qCAAqC,EAC1C,KAAK,oCAAoC,EACzC,KAAK,qBAAqB,EAC3B,MAAM,oBAAoB,CAAC;AAE5B;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C;;;;OAIG;IACH,wBAAwB,CAAC,MAAM,EAAE,qCAAqC,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACxG;;;;OAIG;IACH,wBAAwB,CAAC,MAAM,EAAE,gCAAgC,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAC7G;;;;OAIG;IACH,uBAAuB,CAAC,MAAM,EAAE,oCAAoC,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;CAC3G"}
@@ -0,0 +1,19 @@
1
+ import { type PublicKernelTailRequest } from '@aztec/circuit-types';
2
+ import { type KernelCircuitPublicInputs, type PublicKernelCircuitPublicInputs } from '@aztec/circuits.js';
3
+ import { type MerkleTreeOperations } from '@aztec/world-state';
4
+ import { HintsBuilder } from './hints_builder.js';
5
+ import { type PublicKernelCircuitSimulator } from './public_kernel_circuit_simulator.js';
6
+ export declare class PublicKernelTailSimulator {
7
+ private db;
8
+ private publicKernelSimulator;
9
+ private hintsBuilder;
10
+ constructor(db: MerkleTreeOperations, publicKernelSimulator: PublicKernelCircuitSimulator, hintsBuilder: HintsBuilder);
11
+ static create(db: MerkleTreeOperations, publicKernelSimulator: PublicKernelCircuitSimulator): PublicKernelTailSimulator;
12
+ simulate(previousOutput: PublicKernelCircuitPublicInputs): Promise<{
13
+ output: KernelCircuitPublicInputs;
14
+ provingRequest: PublicKernelTailRequest;
15
+ }>;
16
+ private buildPrivateInputs;
17
+ private getPreviousKernelData;
18
+ }
19
+ //# sourceMappingURL=public_kernel_tail_simulator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public_kernel_tail_simulator.d.ts","sourceRoot":"","sources":["../../src/public/public_kernel_tail_simulator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,EACL,KAAK,yBAAyB,EAI9B,KAAK,+BAA+B,EAKrC,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE/D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AAEzF,qBAAa,yBAAyB;IAElC,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,qBAAqB;IAC7B,OAAO,CAAC,YAAY;gBAFZ,EAAE,EAAE,oBAAoB,EACxB,qBAAqB,EAAE,4BAA4B,EACnD,YAAY,EAAE,YAAY;IAGpC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,4BAA4B;IAKrF,QAAQ,CACZ,cAAc,EAAE,+BAA+B,GAC9C,OAAO,CAAC;QAAE,MAAM,EAAE,yBAAyB,CAAC;QAAC,cAAc,EAAE,uBAAuB,CAAA;KAAE,CAAC;YAa5E,kBAAkB;IAqDhC,OAAO,CAAC,qBAAqB;CAO9B"}
@@ -0,0 +1,45 @@
1
+ import { ProvingRequestType } from '@aztec/circuit-types';
2
+ import { MAX_NULLIFIERS_PER_TX, MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX, NESTED_RECURSIVE_PROOF_LENGTH, PublicKernelData, PublicKernelTailCircuitPrivateInputs, makeEmptyRecursiveProof, mergeAccumulatedData, } from '@aztec/circuits.js';
3
+ import { ProtocolCircuitVks, getVKIndex, getVKSiblingPath } from '@aztec/noir-protocol-circuits-types';
4
+ import { HintsBuilder } from './hints_builder.js';
5
+ export class PublicKernelTailSimulator {
6
+ constructor(db, publicKernelSimulator, hintsBuilder) {
7
+ this.db = db;
8
+ this.publicKernelSimulator = publicKernelSimulator;
9
+ this.hintsBuilder = hintsBuilder;
10
+ }
11
+ static create(db, publicKernelSimulator) {
12
+ const hintsBuilder = new HintsBuilder(db);
13
+ return new PublicKernelTailSimulator(db, publicKernelSimulator, hintsBuilder);
14
+ }
15
+ async simulate(previousOutput) {
16
+ const inputs = await this.buildPrivateInputs(previousOutput);
17
+ const output = await this.publicKernelSimulator.publicKernelCircuitTail(inputs);
18
+ const provingRequest = {
19
+ type: ProvingRequestType.PUBLIC_KERNEL_TAIL,
20
+ inputs,
21
+ };
22
+ return { output, provingRequest };
23
+ }
24
+ async buildPrivateInputs(previousOutput) {
25
+ const previousKernel = this.getPreviousKernelData(previousOutput);
26
+ const { validationRequests, endNonRevertibleData: nonRevertibleData, end: revertibleData } = previousOutput;
27
+ const noteHashReadRequestHints = await this.hintsBuilder.getNoteHashReadRequestsHints(validationRequests.noteHashReadRequests);
28
+ const pendingNullifiers = mergeAccumulatedData(nonRevertibleData.nullifiers, revertibleData.nullifiers, MAX_NULLIFIERS_PER_TX);
29
+ const nullifierReadRequestHints = await this.hintsBuilder.getNullifierReadRequestHints(validationRequests.nullifierReadRequests, pendingNullifiers);
30
+ const nullifierNonExistentReadRequestHints = await this.hintsBuilder.getNullifierNonExistentReadRequestHints(validationRequests.nullifierNonExistentReadRequests, pendingNullifiers);
31
+ const l1ToL2MsgReadRequestHints = await this.hintsBuilder.getL1ToL2MsgReadRequestsHints(validationRequests.l1ToL2MsgReadRequests);
32
+ const pendingPublicDataWrites = mergeAccumulatedData(nonRevertibleData.publicDataUpdateRequests, revertibleData.publicDataUpdateRequests, MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX);
33
+ const publicDataHints = await this.hintsBuilder.getPublicDataHints(validationRequests.publicDataReads, pendingPublicDataWrites);
34
+ const currentState = await this.db.getStateReference();
35
+ return new PublicKernelTailCircuitPrivateInputs(previousKernel, noteHashReadRequestHints, nullifierReadRequestHints, nullifierNonExistentReadRequestHints, l1ToL2MsgReadRequestHints, publicDataHints, currentState.partial);
36
+ }
37
+ getPreviousKernelData(previousOutput) {
38
+ const proof = makeEmptyRecursiveProof(NESTED_RECURSIVE_PROOF_LENGTH);
39
+ const vk = ProtocolCircuitVks.PublicKernelMergeArtifact;
40
+ const vkIndex = getVKIndex(vk);
41
+ const siblingPath = getVKSiblingPath(vkIndex);
42
+ return new PublicKernelData(previousOutput, proof, vk, vkIndex, siblingPath);
43
+ }
44
+ }
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2tlcm5lbF90YWlsX3NpbXVsYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMvcHVibGljX2tlcm5lbF90YWlsX3NpbXVsYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQWdDLE1BQU0sc0JBQXNCLENBQUM7QUFDeEYsT0FBTyxFQUVMLHFCQUFxQixFQUNyQixzQ0FBc0MsRUFDdEMsNkJBQTZCLEVBRTdCLGdCQUFnQixFQUNoQixvQ0FBb0MsRUFDcEMsdUJBQXVCLEVBQ3ZCLG9CQUFvQixHQUNyQixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUd2RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHbEQsTUFBTSxPQUFPLHlCQUF5QjtJQUNwQyxZQUNVLEVBQXdCLEVBQ3hCLHFCQUFtRCxFQUNuRCxZQUEwQjtRQUYxQixPQUFFLEdBQUYsRUFBRSxDQUFzQjtRQUN4QiwwQkFBcUIsR0FBckIscUJBQXFCLENBQThCO1FBQ25ELGlCQUFZLEdBQVosWUFBWSxDQUFjO0lBQ2pDLENBQUM7SUFFSixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQXdCLEVBQUUscUJBQW1EO1FBQ3pGLE1BQU0sWUFBWSxHQUFHLElBQUksWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFDLE9BQU8sSUFBSSx5QkFBeUIsQ0FBQyxFQUFFLEVBQUUscUJBQXFCLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVELEtBQUssQ0FBQyxRQUFRLENBQ1osY0FBK0M7UUFFL0MsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFN0QsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMscUJBQXFCLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFaEYsTUFBTSxjQUFjLEdBQTRCO1lBQzlDLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxrQkFBa0I7WUFDM0MsTUFBTTtTQUNQLENBQUM7UUFFRixPQUFPLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFTyxLQUFLLENBQUMsa0JBQWtCLENBQUMsY0FBK0M7UUFDOUUsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRWxFLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxvQkFBb0IsRUFBRSxpQkFBaUIsRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFFLEdBQUcsY0FBYyxDQUFDO1FBRTVHLE1BQU0sd0JBQXdCLEdBQUcsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLDRCQUE0QixDQUNuRixrQkFBa0IsQ0FBQyxvQkFBb0IsQ0FDeEMsQ0FBQztRQUVGLE1BQU0saUJBQWlCLEdBQUcsb0JBQW9CLENBQzVDLGlCQUFpQixDQUFDLFVBQVUsRUFDNUIsY0FBYyxDQUFDLFVBQVUsRUFDekIscUJBQXFCLENBQ3RCLENBQUM7UUFFRixNQUFNLHlCQUF5QixHQUFHLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyw0QkFBNEIsQ0FDcEYsa0JBQWtCLENBQUMscUJBQXFCLEVBQ3hDLGlCQUFpQixDQUNsQixDQUFDO1FBRUYsTUFBTSxvQ0FBb0MsR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsdUNBQXVDLENBQzFHLGtCQUFrQixDQUFDLGdDQUFnQyxFQUNuRCxpQkFBaUIsQ0FDbEIsQ0FBQztRQUVGLE1BQU0seUJBQXlCLEdBQUcsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLDZCQUE2QixDQUNyRixrQkFBa0IsQ0FBQyxxQkFBcUIsQ0FDekMsQ0FBQztRQUVGLE1BQU0sdUJBQXVCLEdBQUcsb0JBQW9CLENBQ2xELGlCQUFpQixDQUFDLHdCQUF3QixFQUMxQyxjQUFjLENBQUMsd0JBQXdCLEVBQ3ZDLHNDQUFzQyxDQUN2QyxDQUFDO1FBRUYsTUFBTSxlQUFlLEdBQUcsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLGtCQUFrQixDQUNoRSxrQkFBa0IsQ0FBQyxlQUFlLEVBQ2xDLHVCQUF1QixDQUN4QixDQUFDO1FBRUYsTUFBTSxZQUFZLEdBQUcsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFFdkQsT0FBTyxJQUFJLG9DQUFvQyxDQUM3QyxjQUFjLEVBQ2Qsd0JBQXdCLEVBQ3hCLHlCQUF5QixFQUN6QixvQ0FBb0MsRUFDcEMseUJBQXlCLEVBQ3pCLGVBQWUsRUFDZixZQUFZLENBQUMsT0FBTyxDQUNyQixDQUFDO0lBQ0osQ0FBQztJQUVPLHFCQUFxQixDQUFDLGNBQStDO1FBQzNFLE1BQU0sS0FBSyxHQUFHLHVCQUF1QixDQUFDLDZCQUE2QixDQUFDLENBQUM7UUFDckUsTUFBTSxFQUFFLEdBQUcsa0JBQWtCLENBQUMseUJBQXlCLENBQUM7UUFDeEQsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQy9CLE1BQU0sV0FBVyxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlDLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxjQUFjLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDL0UsQ0FBQztDQUNGIn0=
@@ -1,10 +1,12 @@
1
1
  import { type FailedTx, NestedProcessReturnValues, type ProcessedTx, type ProcessedTxHandler, Tx, type TxValidator } from '@aztec/circuit-types';
2
2
  import { type GlobalVariables, type Header } from '@aztec/circuits.js';
3
- import { PublicExecutor, type PublicStateDB, type SimulationProvider } from '@aztec/simulator';
4
3
  import { type TelemetryClient, type Tracer } from '@aztec/telemetry-client';
5
4
  import { type ContractDataSource } from '@aztec/types/contracts';
6
5
  import { type MerkleTreeOperations } from '@aztec/world-state';
7
- import { ContractsDataSourcePublicDB } from './public_db_sources.js';
6
+ import { type SimulationProvider } from '../providers/index.js';
7
+ import { EnqueuedCallsProcessor } from './enqueued_calls_processor.js';
8
+ import { PublicExecutor } from './executor.js';
9
+ import { WorldStateDB } from './public_db_sources.js';
8
10
  import { type PublicKernelCircuitSimulator } from './public_kernel_circuit_simulator.js';
9
11
  /**
10
12
  * Creates new instances of PublicProcessor given the provided merkle tree db and contract data source.
@@ -22,6 +24,7 @@ export declare class PublicProcessorFactory {
22
24
  * @returns A new instance of a PublicProcessor.
23
25
  */
24
26
  create(maybeHistoricalHeader: Header | undefined, globalVariables: GlobalVariables): PublicProcessor;
27
+ getInitialHeader(): Header;
25
28
  }
26
29
  /**
27
30
  * Converts Txs lifted from the P2P module into ProcessedTx objects by executing
@@ -33,11 +36,12 @@ export declare class PublicProcessor {
33
36
  protected publicKernel: PublicKernelCircuitSimulator;
34
37
  protected globalVariables: GlobalVariables;
35
38
  protected historicalHeader: Header;
36
- protected publicContractsDB: ContractsDataSourcePublicDB;
37
- protected publicStateDB: PublicStateDB;
39
+ protected worldStateDB: WorldStateDB;
40
+ protected enqueuedCallsProcessor: EnqueuedCallsProcessor;
38
41
  private log;
39
42
  private metrics;
40
- constructor(db: MerkleTreeOperations, publicExecutor: PublicExecutor, publicKernel: PublicKernelCircuitSimulator, globalVariables: GlobalVariables, historicalHeader: Header, publicContractsDB: ContractsDataSourcePublicDB, publicStateDB: PublicStateDB, telemetryClient: TelemetryClient, log?: import("@aztec/foundation/log").Logger);
43
+ constructor(db: MerkleTreeOperations, publicExecutor: PublicExecutor, publicKernel: PublicKernelCircuitSimulator, globalVariables: GlobalVariables, historicalHeader: Header, worldStateDB: WorldStateDB, enqueuedCallsProcessor: EnqueuedCallsProcessor, telemetryClient: TelemetryClient, log?: import("@aztec/foundation/log").Logger);
44
+ static create(db: MerkleTreeOperations, publicExecutor: PublicExecutor, publicKernelSimulator: PublicKernelCircuitSimulator, globalVariables: GlobalVariables, historicalHeader: Header, worldStateDB: WorldStateDB, telemetryClient: TelemetryClient): PublicProcessor;
41
45
  get tracer(): Tracer;
42
46
  /**
43
47
  * Run each tx through the public circuit and the public kernel circuit if needed.
@@ -1 +1 @@
1
- {"version":3,"file":"public_processor.d.ts","sourceRoot":"","sources":["../../src/public/public_processor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,QAAQ,EACb,yBAAyB,EACzB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EAIvB,EAAE,EACF,KAAK,WAAW,EAGjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAIL,KAAK,eAAe,EACpB,KAAK,MAAM,EAKZ,MAAM,oBAAoB,CAAC;AAM5B,OAAO,EACL,cAAc,EACd,KAAK,aAAa,EAClB,KAAK,kBAAkB,EAGxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAc,KAAK,eAAe,EAAE,KAAK,MAAM,EAAa,MAAM,yBAAyB,CAAC;AACnG,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAI/D,OAAO,EAAE,2BAA2B,EAAoC,MAAM,wBAAwB,CAAC;AAEvG,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AAGzF;;GAEG;AACH,qBAAa,sBAAsB;IAE/B,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,eAAe;gBAHf,UAAU,EAAE,oBAAoB,EAChC,kBAAkB,EAAE,kBAAkB,EACtC,SAAS,EAAE,kBAAkB,EAC7B,eAAe,EAAE,eAAe;IAG1C;;;;;OAKG;IACI,MAAM,CAAC,qBAAqB,EAAE,MAAM,GAAG,SAAS,EAAE,eAAe,EAAE,eAAe,GAAG,eAAe;CAyB5G;AAED;;;GAGG;AACH,qBAAa,eAAe;IAGxB,SAAS,CAAC,EAAE,EAAE,oBAAoB;IAClC,SAAS,CAAC,cAAc,EAAE,cAAc;IACxC,SAAS,CAAC,YAAY,EAAE,4BAA4B;IACpD,SAAS,CAAC,eAAe,EAAE,eAAe;IAC1C,SAAS,CAAC,gBAAgB,EAAE,MAAM;IAClC,SAAS,CAAC,iBAAiB,EAAE,2BAA2B;IACxD,SAAS,CAAC,aAAa,EAAE,aAAa;IAEtC,OAAO,CAAC,GAAG;IAVb,OAAO,CAAC,OAAO,CAAyB;gBAE5B,EAAE,EAAE,oBAAoB,EACxB,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,4BAA4B,EAC1C,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,MAAM,EACxB,iBAAiB,EAAE,2BAA2B,EAC9C,aAAa,EAAE,aAAa,EACtC,eAAe,EAAE,eAAe,EACxB,GAAG,yCAAwD;IAKrE,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;;;;OAKG;IACU,OAAO,CAClB,GAAG,EAAE,EAAE,EAAE,EACT,eAAe,SAAa,EAC5B,kBAAkB,CAAC,EAAE,kBAAkB,EACvC,WAAW,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,GACrC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,EAAE,yBAAyB,EAAE,CAAC,CAAC;IA8DpE;;;;;OAKG;YACW,6BAA6B;YA4C7B,wBAAwB;CAmEvC"}
1
+ {"version":3,"file":"public_processor.d.ts","sourceRoot":"","sources":["../../src/public/public_processor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,QAAQ,EACb,yBAAyB,EACzB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,EAAE,EACF,KAAK,WAAW,EAGjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAIL,KAAK,eAAe,EACpB,KAAK,MAAM,EAIZ,MAAM,oBAAoB,CAAC;AAK5B,OAAO,EAAc,KAAK,eAAe,EAAE,KAAK,MAAM,EAAa,MAAM,yBAAyB,CAAC;AACnG,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE/D,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AAGzF;;GAEG;AACH,qBAAa,sBAAsB;IAE/B,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,eAAe;gBAHf,UAAU,EAAE,oBAAoB,EAChC,kBAAkB,EAAE,kBAAkB,EACtC,SAAS,EAAE,kBAAkB,EAC7B,eAAe,EAAE,eAAe;IAG1C;;;;;OAKG;IACI,MAAM,CAAC,qBAAqB,EAAE,MAAM,GAAG,SAAS,EAAE,eAAe,EAAE,eAAe,GAAG,eAAe;IAmBpG,gBAAgB;CAGxB;AAED;;;GAGG;AACH,qBAAa,eAAe;IAGxB,SAAS,CAAC,EAAE,EAAE,oBAAoB;IAClC,SAAS,CAAC,cAAc,EAAE,cAAc;IACxC,SAAS,CAAC,YAAY,EAAE,4BAA4B;IACpD,SAAS,CAAC,eAAe,EAAE,eAAe;IAC1C,SAAS,CAAC,gBAAgB,EAAE,MAAM;IAClC,SAAS,CAAC,YAAY,EAAE,YAAY;IACpC,SAAS,CAAC,sBAAsB,EAAE,sBAAsB;IAExD,OAAO,CAAC,GAAG;IAVb,OAAO,CAAC,OAAO,CAAyB;gBAE5B,EAAE,EAAE,oBAAoB,EACxB,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,4BAA4B,EAC1C,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,MAAM,EACxB,YAAY,EAAE,YAAY,EAC1B,sBAAsB,EAAE,sBAAsB,EACxD,eAAe,EAAE,eAAe,EACxB,GAAG,yCAAwD;IAKrE,MAAM,CAAC,MAAM,CACX,EAAE,EAAE,oBAAoB,EACxB,cAAc,EAAE,cAAc,EAC9B,qBAAqB,EAAE,4BAA4B,EACnD,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,MAAM,EACxB,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,eAAe;IAuBlC,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;;;;OAKG;IACU,OAAO,CAClB,GAAG,EAAE,EAAE,EAAE,EACT,eAAe,SAAa,EAC5B,kBAAkB,CAAC,EAAE,kBAAkB,EACvC,WAAW,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,GACrC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,EAAE,yBAAyB,EAAE,CAAC,CAAC;IA8DpE;;;;;OAKG;YACW,6BAA6B;YA4C7B,wBAAwB;CA6BvC"}
@@ -1,14 +1,15 @@
1
1
  import { __esDecorate, __runInitializers } from "tslib";
2
- import { NestedProcessReturnValues, PublicKernelType, Tx, makeProcessedTx, validateProcessedTx, } from '@aztec/circuit-types';
2
+ import { NestedProcessReturnValues, Tx, makeProcessedTx, validateProcessedTx, } from '@aztec/circuit-types';
3
3
  import { AztecAddress, ContractClassRegisteredEvent, FEE_JUICE_ADDRESS, MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX, PROTOCOL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX, PublicDataUpdateRequest, } from '@aztec/circuits.js';
4
4
  import { times } from '@aztec/foundation/collection';
5
5
  import { createDebugLogger } from '@aztec/foundation/log';
6
6
  import { Timer } from '@aztec/foundation/timer';
7
7
  import { ClassRegistererAddress } from '@aztec/protocol-contracts/class-registerer';
8
- import { PublicExecutor, computeFeePayerBalanceLeafSlot, computeFeePayerBalanceStorageSlot, } from '@aztec/simulator';
9
8
  import { Attributes, trackSpan } from '@aztec/telemetry-client';
10
- import { PhaseManagerFactory } from './phase_manager_factory.js';
11
- import { ContractsDataSourcePublicDB, WorldStateDB, WorldStatePublicDB } from './public_db_sources.js';
9
+ import { EnqueuedCallsProcessor } from './enqueued_calls_processor.js';
10
+ import { PublicExecutor } from './executor.js';
11
+ import { computeFeePayerBalanceLeafSlot, computeFeePayerBalanceStorageSlot } from './fee_payment.js';
12
+ import { WorldStateDB } from './public_db_sources.js';
12
13
  import { RealPublicKernelCircuitSimulator } from './public_kernel.js';
13
14
  import { PublicProcessorMetrics } from './public_processor_metrics.js';
14
15
  /**
@@ -30,11 +31,13 @@ export class PublicProcessorFactory {
30
31
  create(maybeHistoricalHeader, globalVariables) {
31
32
  const { merkleTree, telemetryClient } = this;
32
33
  const historicalHeader = maybeHistoricalHeader ?? merkleTree.getInitialHeader();
33
- const publicContractsDB = new ContractsDataSourcePublicDB(this.contractDataSource);
34
- const worldStatePublicDB = new WorldStatePublicDB(merkleTree);
35
- const worldStateDB = new WorldStateDB(merkleTree);
36
- const publicExecutor = new PublicExecutor(worldStatePublicDB, publicContractsDB, worldStateDB, historicalHeader, telemetryClient);
37
- return new PublicProcessor(merkleTree, publicExecutor, new RealPublicKernelCircuitSimulator(this.simulator), globalVariables, historicalHeader, publicContractsDB, worldStatePublicDB, this.telemetryClient);
34
+ const worldStateDB = new WorldStateDB(merkleTree, this.contractDataSource);
35
+ const publicExecutor = new PublicExecutor(worldStateDB, telemetryClient);
36
+ const publicKernelSimulator = new RealPublicKernelCircuitSimulator(this.simulator);
37
+ return PublicProcessor.create(merkleTree, publicExecutor, publicKernelSimulator, globalVariables, historicalHeader, worldStateDB, this.telemetryClient);
38
+ }
39
+ getInitialHeader() {
40
+ return this.merkleTree.getInitialHeader();
38
41
  }
39
42
  }
40
43
  /**
@@ -46,17 +49,21 @@ let PublicProcessor = (() => {
46
49
  let _instanceExtraInitializers = [];
47
50
  let _processTxWithPublicCalls_decorators;
48
51
  return _a = class PublicProcessor {
49
- constructor(db, publicExecutor, publicKernel, globalVariables, historicalHeader, publicContractsDB, publicStateDB, telemetryClient, log = createDebugLogger('aztec:sequencer:public-processor')) {
52
+ constructor(db, publicExecutor, publicKernel, globalVariables, historicalHeader, worldStateDB, enqueuedCallsProcessor, telemetryClient, log = createDebugLogger('aztec:sequencer:public-processor')) {
50
53
  this.db = (__runInitializers(this, _instanceExtraInitializers), db);
51
54
  this.publicExecutor = publicExecutor;
52
55
  this.publicKernel = publicKernel;
53
56
  this.globalVariables = globalVariables;
54
57
  this.historicalHeader = historicalHeader;
55
- this.publicContractsDB = publicContractsDB;
56
- this.publicStateDB = publicStateDB;
58
+ this.worldStateDB = worldStateDB;
59
+ this.enqueuedCallsProcessor = enqueuedCallsProcessor;
57
60
  this.log = log;
58
61
  this.metrics = new PublicProcessorMetrics(telemetryClient, 'PublicProcessor');
59
62
  }
63
+ static create(db, publicExecutor, publicKernelSimulator, globalVariables, historicalHeader, worldStateDB, telemetryClient) {
64
+ const enqueuedCallsProcessor = EnqueuedCallsProcessor.create(db, publicExecutor, publicKernelSimulator, globalVariables, historicalHeader, worldStateDB);
65
+ return new _a(db, publicExecutor, publicKernelSimulator, globalVariables, historicalHeader, worldStateDB, enqueuedCallsProcessor, telemetryClient);
66
+ }
60
67
  get tracer() {
61
68
  return this.metrics.tracer;
62
69
  }
@@ -90,7 +97,7 @@ let PublicProcessor = (() => {
90
97
  // Set fee payment update request into the processed tx
91
98
  processedTx.finalPublicDataUpdateRequests = await this.createFinalDataUpdateRequests(processedTx);
92
99
  // Commit the state updates from this transaction
93
- await this.publicStateDB.commit();
100
+ await this.worldStateDB.commit();
94
101
  validateProcessedTx(processedTx);
95
102
  // Re-validate the transaction
96
103
  if (txValidator) {
@@ -145,55 +152,34 @@ let PublicProcessor = (() => {
145
152
  const existingBalanceWriteIndex = finalPublicDataUpdateRequests.findIndex(request => request.leafSlot.equals(leafSlot));
146
153
  const balance = existingBalanceWriteIndex > -1
147
154
  ? finalPublicDataUpdateRequests[existingBalanceWriteIndex].newValue
148
- : await this.publicStateDB.storageRead(feeJuiceAddress, balanceSlot);
155
+ : await this.worldStateDB.storageRead(feeJuiceAddress, balanceSlot);
149
156
  if (balance.lt(txFee)) {
150
157
  throw new Error(`Not enough balance for fee payer to pay for transaction (got ${balance} needs ${txFee})`);
151
158
  }
152
159
  const updatedBalance = balance.sub(txFee);
153
- await this.publicStateDB.storageWrite(feeJuiceAddress, balanceSlot, updatedBalance);
160
+ await this.worldStateDB.storageWrite(feeJuiceAddress, balanceSlot, updatedBalance);
154
161
  finalPublicDataUpdateRequests[existingBalanceWriteIndex > -1 ? existingBalanceWriteIndex : MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX] = new PublicDataUpdateRequest(leafSlot, updatedBalance, 0);
155
162
  return finalPublicDataUpdateRequests;
156
163
  }
157
164
  async processTxWithPublicCalls(tx) {
158
165
  const timer = new Timer();
159
- let returnValues = [];
160
- const publicProvingRequests = [];
161
- let phase = PhaseManagerFactory.phaseFromTx(tx, this.db, this.publicExecutor, this.publicKernel, this.globalVariables, this.historicalHeader, this.publicContractsDB, this.publicStateDB);
162
- this.log.debug(`Beginning processing in phase ${phase?.phase} for tx ${tx.getTxHash()}`);
163
- let publicKernelPublicInput = tx.data.toPublicKernelCircuitPublicInputs();
164
- let lastKernelArtifact = 'PrivateKernelTailToPublicArtifact'; // All txs with public calls must carry tail to public proofs
165
- let finalKernelOutput;
166
- let revertReason;
167
- const gasUsed = {};
168
- let phaseCount = 0;
169
- while (phase) {
170
- phaseCount++;
171
- const phaseTimer = new Timer();
172
- const output = await phase.handle(tx, publicKernelPublicInput, lastKernelArtifact);
173
- if (output.revertReason) {
166
+ const { tailKernelOutput, returnValues, revertReason, provingRequests, gasUsed, processedPhases } = await this.enqueuedCallsProcessor.process(tx);
167
+ if (!tailKernelOutput) {
168
+ this.metrics.recordFailedTx();
169
+ throw new Error('Final public kernel was not executed.');
170
+ }
171
+ processedPhases.forEach(phase => {
172
+ if (phase.revertReason) {
174
173
  this.metrics.recordRevertedPhase(phase.phase);
175
174
  }
176
175
  else {
177
- this.metrics.recordPhaseDuration(phase.phase, phaseTimer.ms());
176
+ this.metrics.recordPhaseDuration(phase.phase, phase.durationMs);
178
177
  }
179
- gasUsed[phase.phase] = output.gasUsed;
180
- if (phase.phase === PublicKernelType.APP_LOGIC) {
181
- returnValues = output.returnValues;
182
- }
183
- publicProvingRequests.push(...output.publicProvingRequests);
184
- publicKernelPublicInput = output.publicKernelOutput;
185
- lastKernelArtifact = output.lastKernelArtifact;
186
- finalKernelOutput = output.finalKernelOutput;
187
- revertReason ?? (revertReason = output.revertReason);
188
- phase = PhaseManagerFactory.phaseFromOutput(publicKernelPublicInput, phase, this.db, this.publicExecutor, this.publicKernel, this.globalVariables, this.historicalHeader, this.publicContractsDB, this.publicStateDB);
189
- }
190
- if (!finalKernelOutput) {
191
- this.metrics.recordFailedTx();
192
- throw new Error('Final public kernel was not executed.');
193
- }
178
+ });
194
179
  this.metrics.recordClassRegistration(...ContractClassRegisteredEvent.fromLogs(tx.unencryptedLogs.unrollLogs(), ClassRegistererAddress));
180
+ const phaseCount = processedPhases.length;
195
181
  this.metrics.recordTx(phaseCount, timer.ms());
196
- const processedTx = makeProcessedTx(tx, finalKernelOutput, publicProvingRequests, revertReason, gasUsed);
182
+ const processedTx = makeProcessedTx(tx, tailKernelOutput, provingRequests, revertReason, gasUsed);
197
183
  return [processedTx, returnValues];
198
184
  }
199
185
  },
@@ -208,4 +194,4 @@ let PublicProcessor = (() => {
208
194
  _a;
209
195
  })();
210
196
  export { PublicProcessor };
211
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX3Byb2Nlc3Nvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMvcHVibGljX3Byb2Nlc3Nvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVMLHlCQUF5QixFQUd6QixnQkFBZ0IsRUFHaEIsRUFBRSxFQUVGLGVBQWUsRUFDZixtQkFBbUIsR0FDcEIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQ0wsWUFBWSxFQUNaLDRCQUE0QixFQUM1QixpQkFBaUIsRUFJakIsc0NBQXNDLEVBQ3RDLDJDQUEyQyxFQUMzQyx1QkFBdUIsR0FDeEIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDckQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWhELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3BGLE9BQU8sRUFDTCxjQUFjLEVBR2QsOEJBQThCLEVBQzlCLGlDQUFpQyxHQUNsQyxNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxVQUFVLEVBQXFDLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBS25HLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RyxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV0RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUV2RTs7R0FFRztBQUNILE1BQU0sT0FBTyxzQkFBc0I7SUFDakMsWUFDVSxVQUFnQyxFQUNoQyxrQkFBc0MsRUFD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
197
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX3Byb2Nlc3Nvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMvcHVibGljX3Byb2Nlc3Nvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVMLHlCQUF5QixFQUd6QixFQUFFLEVBRUYsZUFBZSxFQUNmLG1CQUFtQixHQUNwQixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFDTCxZQUFZLEVBQ1osNEJBQTRCLEVBQzVCLGlCQUFpQixFQUdqQixzQ0FBc0MsRUFDdEMsMkNBQTJDLEVBQzNDLHVCQUF1QixHQUN4QixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDcEYsT0FBTyxFQUFFLFVBQVUsRUFBcUMsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFLbkcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNyRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFdEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFdkU7O0dBRUc7QUFDSCxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLFlBQ1UsVUFBZ0MsRUFDaEMsa0JBQXNDLEVBQ3RDLFNBQTZC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
@@ -1,4 +1,4 @@
1
- import { type PublicKernelType } from '@aztec/circuit-types';
1
+ import { type PublicKernelPhase } from '@aztec/circuit-types';
2
2
  import { type ContractClassRegisteredEvent } from '@aztec/circuits.js';
3
3
  import { type TelemetryClient, type Tracer } from '@aztec/telemetry-client';
4
4
  export declare class PublicProcessorMetrics {
@@ -10,10 +10,10 @@ export declare class PublicProcessorMetrics {
10
10
  private phaseCount;
11
11
  private bytecodeDeployed;
12
12
  constructor(client: TelemetryClient, name?: string);
13
- recordPhaseDuration(phaseName: PublicKernelType, durationMs: number): void;
13
+ recordPhaseDuration(phaseName: PublicKernelPhase, durationMs: number): void;
14
14
  recordTx(phaseCount: number, durationMs: number): void;
15
15
  recordFailedTx(): void;
16
- recordRevertedPhase(phaseName: PublicKernelType): void;
16
+ recordRevertedPhase(phaseName: PublicKernelPhase): void;
17
17
  recordClassRegistration(...events: ContractClassRegisteredEvent[]): void;
18
18
  }
19
19
  //# sourceMappingURL=public_processor_metrics.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"public_processor_metrics.d.ts","sourceRoot":"","sources":["../../src/public/public_processor_metrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAIL,KAAK,eAAe,EACpB,KAAK,MAAM,EAGZ,MAAM,yBAAyB,CAAC;AAEjC,qBAAa,sBAAsB;IACjC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,YAAY,CAAgB;IAEpC,OAAO,CAAC,aAAa,CAAY;IACjC,OAAO,CAAC,UAAU,CAAgB;IAElC,OAAO,CAAC,gBAAgB,CAAY;gBAExB,MAAM,EAAE,eAAe,EAAE,IAAI,SAAoB;IAkC7D,mBAAmB,CAAC,SAAS,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM;IAKnE,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAQ/C,cAAc;IAMd,mBAAmB,CAAC,SAAS,EAAE,gBAAgB;IAI/C,uBAAuB,CAAC,GAAG,MAAM,EAAE,4BAA4B,EAAE;CAUlE"}
1
+ {"version":3,"file":"public_processor_metrics.d.ts","sourceRoot":"","sources":["../../src/public/public_processor_metrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAIL,KAAK,eAAe,EACpB,KAAK,MAAM,EAGZ,MAAM,yBAAyB,CAAC;AAEjC,qBAAa,sBAAsB;IACjC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,YAAY,CAAgB;IAEpC,OAAO,CAAC,aAAa,CAAY;IACjC,OAAO,CAAC,UAAU,CAAgB;IAElC,OAAO,CAAC,gBAAgB,CAAY;gBAExB,MAAM,EAAE,eAAe,EAAE,IAAI,SAAoB;IAkC7D,mBAAmB,CAAC,SAAS,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM;IAKpE,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAQ/C,cAAc;IAMd,mBAAmB,CAAC,SAAS,EAAE,iBAAiB;IAIhD,uBAAuB,CAAC,GAAG,MAAM,EAAE,4BAA4B,EAAE;CAUlE"}
@@ -56,4 +56,4 @@ export class PublicProcessorMetrics {
56
56
  }
57
57
  }
58
58
  }
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX3Byb2Nlc3Nvcl9tZXRyaWNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3B1YmxpYy9wdWJsaWNfcHJvY2Vzc29yX21ldHJpY3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUNMLFVBQVUsRUFFVixPQUFPLEVBSVAsU0FBUyxHQUNWLE1BQU0seUJBQXlCLENBQUM7QUFFakMsTUFBTSxPQUFPLHNCQUFzQjtJQVlqQyxZQUFZLE1BQXVCLEVBQUUsSUFBSSxHQUFHLGlCQUFpQjtRQUMzRCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVwQyxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLDRCQUE0QixFQUFFO1lBQzVFLFdBQVcsRUFBRSw0Q0FBNEM7WUFDekQsSUFBSSxFQUFFLElBQUk7WUFDVixTQUFTLEVBQUUsU0FBUyxDQUFDLEdBQUc7U0FDekIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLHlCQUF5QixFQUFFO1lBQzFFLFdBQVcsRUFBRSxrQ0FBa0M7U0FDaEQsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLCtCQUErQixFQUFFO1lBQ3JGLFdBQVcsRUFBRSw0QkFBNEI7U0FDMUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQywrQkFBK0IsRUFBRTtZQUNsRixXQUFXLEVBQUUsc0NBQXNDO1lBQ25ELElBQUksRUFBRSxJQUFJO1lBQ1YsU0FBUyxFQUFFLFNBQVMsQ0FBQyxHQUFHO1NBQ3pCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyw0QkFBNEIsRUFBRTtZQUNoRixXQUFXLEVBQUUseUJBQXlCO1NBQ3ZDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxxQ0FBcUMsRUFBRTtZQUMzRixXQUFXLEVBQUUsMkJBQTJCO1lBQ3hDLElBQUksRUFBRSxJQUFJO1NBQ1gsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELG1CQUFtQixDQUFDLFNBQTJCLEVBQUUsVUFBa0I7UUFDakUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDekYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDOUYsQ0FBQztJQUVELFFBQVEsQ0FBQyxVQUFrQixFQUFFLFVBQWtCO1FBQzdDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7WUFDbEIsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSTtTQUN0QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTtZQUNsQixDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLO1NBQ3ZCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxTQUEyQjtRQUM3QyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUM1RixDQUFDO0lBRUQsdUJBQXVCLENBQUMsR0FBRyxNQUFzQztRQUMvRCxJQUFJLGFBQWEsR0FBRyxDQUFDLENBQUM7UUFDdEIsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUMzQixhQUFhLElBQUksS0FBSyxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQztRQUNyRCxDQUFDO1FBRUQsSUFBSSxhQUFhLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM5QyxDQUFDO0lBQ0gsQ0FBQztDQUNGIn0=
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX3Byb2Nlc3Nvcl9tZXRyaWNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3B1YmxpYy9wdWJsaWNfcHJvY2Vzc29yX21ldHJpY3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUNMLFVBQVUsRUFFVixPQUFPLEVBSVAsU0FBUyxHQUNWLE1BQU0seUJBQXlCLENBQUM7QUFFakMsTUFBTSxPQUFPLHNCQUFzQjtJQVlqQyxZQUFZLE1BQXVCLEVBQUUsSUFBSSxHQUFHLGlCQUFpQjtRQUMzRCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVwQyxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLDRCQUE0QixFQUFFO1lBQzVFLFdBQVcsRUFBRSw0Q0FBNEM7WUFDekQsSUFBSSxFQUFFLElBQUk7WUFDVixTQUFTLEVBQUUsU0FBUyxDQUFDLEdBQUc7U0FDekIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLHlCQUF5QixFQUFFO1lBQzFFLFdBQVcsRUFBRSxrQ0FBa0M7U0FDaEQsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLCtCQUErQixFQUFFO1lBQ3JGLFdBQVcsRUFBRSw0QkFBNEI7U0FDMUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQywrQkFBK0IsRUFBRTtZQUNsRixXQUFXLEVBQUUsc0NBQXNDO1lBQ25ELElBQUksRUFBRSxJQUFJO1lBQ1YsU0FBUyxFQUFFLFNBQVMsQ0FBQyxHQUFHO1NBQ3pCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyw0QkFBNEIsRUFBRTtZQUNoRixXQUFXLEVBQUUseUJBQXlCO1NBQ3ZDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxxQ0FBcUMsRUFBRTtZQUMzRixXQUFXLEVBQUUsMkJBQTJCO1lBQ3hDLElBQUksRUFBRSxJQUFJO1NBQ1gsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELG1CQUFtQixDQUFDLFNBQTRCLEVBQUUsVUFBa0I7UUFDbEUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDekYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDOUYsQ0FBQztJQUVELFFBQVEsQ0FBQyxVQUFrQixFQUFFLFVBQWtCO1FBQzdDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7WUFDbEIsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSTtTQUN0QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTtZQUNsQixDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLO1NBQ3ZCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxTQUE0QjtRQUM5QyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUM1RixDQUFDO0lBRUQsdUJBQXVCLENBQUMsR0FBRyxNQUFzQztRQUMvRCxJQUFJLGFBQWEsR0FBRyxDQUFDLENBQUM7UUFDdEIsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUMzQixhQUFhLElBQUksS0FBSyxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQztRQUNyRCxDQUFDO1FBRUQsSUFBSSxhQUFhLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM5QyxDQUFDO0lBQ0gsQ0FBQztDQUNGIn0=
@@ -0,0 +1,4 @@
1
+ export declare class SideEffectLimitReachedError extends Error {
2
+ constructor(sideEffectType: string, limit: number);
3
+ }
4
+ //# sourceMappingURL=side_effect_errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"side_effect_errors.d.ts","sourceRoot":"","sources":["../../src/public/side_effect_errors.ts"],"names":[],"mappings":"AAAA,qBAAa,2BAA4B,SAAQ,KAAK;gBACxC,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;CAIlD"}
@@ -0,0 +1,7 @@
1
+ export class SideEffectLimitReachedError extends Error {
2
+ constructor(sideEffectType, limit) {
3
+ super(`Reached the limit on number of '${sideEffectType}' side effects: ${limit}`);
4
+ this.name = 'SideEffectLimitReachedError';
5
+ }
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZV9lZmZlY3RfZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3B1YmxpYy9zaWRlX2VmZmVjdF9lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLDJCQUE0QixTQUFRLEtBQUs7SUFDcEQsWUFBWSxjQUFzQixFQUFFLEtBQWE7UUFDL0MsS0FBSyxDQUFDLG1DQUFtQyxjQUFjLG1CQUFtQixLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ25GLElBQUksQ0FBQyxJQUFJLEdBQUcsNkJBQTZCLENBQUM7SUFDNUMsQ0FBQztDQUNGIn0=
@@ -28,7 +28,6 @@ export declare class PublicSideEffectTrace implements PublicSideEffectTraceInter
28
28
  private allUnencryptedLogs;
29
29
  private unencryptedLogsHashes;
30
30
  private publicCallRequests;
31
- private gotContractInstances;
32
31
  private nestedExecutions;
33
32
  private avmCircuitHints;
34
33
  constructor(
@@ -44,7 +43,7 @@ export declare class PublicSideEffectTrace implements PublicSideEffectTraceInter
44
43
  traceNullifierCheck(_storageAddress: Fr, nullifier: Fr, _leafIndex: Fr, exists: boolean, _isPending: boolean): void;
45
44
  traceNewNullifier(_storageAddress: Fr, nullifier: Fr): void;
46
45
  traceL1ToL2MessageCheck(_contractAddress: Fr, msgHash: Fr, msgLeafIndex: Fr, exists: boolean): void;
47
- traceNewL2ToL1Message(recipient: Fr, content: Fr): void;
46
+ traceNewL2ToL1Message(_contractAddress: Fr, recipient: Fr, content: Fr): void;
48
47
  traceUnencryptedLog(contractAddress: Fr, log: Fr[]): void;
49
48
  traceGetContractInstance(instance: TracedContractInstance): void;
50
49
  /**
@@ -82,5 +81,6 @@ export declare class PublicSideEffectTrace implements PublicSideEffectTraceInter
82
81
  avmCallResults: AvmContractCallResult,
83
82
  /** Function name for logging */
84
83
  functionName?: string): PublicExecutionResult;
84
+ private enforceLimitOnNullifierChecks;
85
85
  }
86
86
  //# sourceMappingURL=side_effect_trace.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"side_effect_trace.d.ts","sourceRoot":"","sources":["../../src/public/side_effect_trace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"side_effect_trace.d.ts","sourceRoot":"","sources":["../../src/public/side_effect_trace.ts"],"names":[],"mappings":"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"}