@aztec/simulator 0.40.1 → 0.42.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 (234) hide show
  1. package/dest/acvm/acvm.d.ts +2 -2
  2. package/dest/acvm/acvm.d.ts.map +1 -1
  3. package/dest/acvm/acvm.js +3 -3
  4. package/dest/acvm/oracle/oracle.d.ts +6 -2
  5. package/dest/acvm/oracle/oracle.d.ts.map +1 -1
  6. package/dest/acvm/oracle/oracle.js +31 -19
  7. package/dest/acvm/oracle/typed_oracle.d.ts +8 -11
  8. package/dest/acvm/oracle/typed_oracle.d.ts.map +1 -1
  9. package/dest/acvm/oracle/typed_oracle.js +17 -5
  10. package/dest/acvm/serialize.js +2 -2
  11. package/dest/avm/avm_execution_environment.d.ts +4 -3
  12. package/dest/avm/avm_execution_environment.d.ts.map +1 -1
  13. package/dest/avm/avm_execution_environment.js +7 -5
  14. package/dest/avm/avm_gas.d.ts +1 -5
  15. package/dest/avm/avm_gas.d.ts.map +1 -1
  16. package/dest/avm/avm_gas.js +67 -73
  17. package/dest/avm/avm_simulator.d.ts +5 -0
  18. package/dest/avm/avm_simulator.d.ts.map +1 -1
  19. package/dest/avm/avm_simulator.js +12 -4
  20. package/dest/avm/errors.d.ts +6 -0
  21. package/dest/avm/errors.d.ts.map +1 -1
  22. package/dest/avm/errors.js +10 -1
  23. package/dest/avm/fixtures/index.d.ts +3 -0
  24. package/dest/avm/fixtures/index.d.ts.map +1 -1
  25. package/dest/avm/fixtures/index.js +15 -3
  26. package/dest/avm/index.d.ts +2 -0
  27. package/dest/avm/index.d.ts.map +1 -0
  28. package/dest/avm/index.js +2 -0
  29. package/dest/avm/journal/host_storage.d.ts +1 -1
  30. package/dest/avm/journal/host_storage.d.ts.map +1 -1
  31. package/dest/avm/journal/journal.d.ts +4 -3
  32. package/dest/avm/journal/journal.d.ts.map +1 -1
  33. package/dest/avm/journal/journal.js +10 -11
  34. package/dest/avm/journal/nullifiers.d.ts +17 -5
  35. package/dest/avm/journal/nullifiers.d.ts.map +1 -1
  36. package/dest/avm/journal/nullifiers.js +27 -10
  37. package/dest/avm/journal/public_storage.d.ts +19 -6
  38. package/dest/avm/journal/public_storage.d.ts.map +1 -1
  39. package/dest/avm/journal/public_storage.js +30 -12
  40. package/dest/avm/journal/trace.d.ts +2 -0
  41. package/dest/avm/journal/trace.d.ts.map +1 -1
  42. package/dest/avm/journal/trace.js +7 -1
  43. package/dest/avm/journal/trace_types.d.ts +1 -0
  44. package/dest/avm/journal/trace_types.d.ts.map +1 -1
  45. package/dest/avm/journal/trace_types.js +1 -1
  46. package/dest/avm/opcodes/accrued_substate.d.ts.map +1 -1
  47. package/dest/avm/opcodes/accrued_substate.js +6 -7
  48. package/dest/avm/opcodes/arithmetic.d.ts +1 -7
  49. package/dest/avm/opcodes/arithmetic.d.ts.map +1 -1
  50. package/dest/avm/opcodes/arithmetic.js +1 -12
  51. package/dest/avm/opcodes/conversion.js +2 -2
  52. package/dest/avm/opcodes/external_calls.d.ts +2 -2
  53. package/dest/avm/opcodes/external_calls.d.ts.map +1 -1
  54. package/dest/avm/opcodes/external_calls.js +25 -13
  55. package/dest/avm/opcodes/instruction.d.ts +1 -1
  56. package/dest/avm/opcodes/instruction.d.ts.map +1 -1
  57. package/dest/avm/opcodes/instruction.js +6 -4
  58. package/dest/avm/opcodes/memory.d.ts +0 -4
  59. package/dest/avm/opcodes/memory.d.ts.map +1 -1
  60. package/dest/avm/opcodes/memory.js +1 -7
  61. package/dest/avm/opcodes/storage.d.ts +0 -12
  62. package/dest/avm/opcodes/storage.d.ts.map +1 -1
  63. package/dest/avm/opcodes/storage.js +3 -18
  64. package/dest/avm/serialization/bytecode_serialization.js +2 -2
  65. package/dest/client/client_execution_context.d.ts +30 -20
  66. package/dest/client/client_execution_context.d.ts.map +1 -1
  67. package/dest/client/client_execution_context.js +59 -39
  68. package/dest/client/db_oracle.d.ts +17 -12
  69. package/dest/client/db_oracle.d.ts.map +1 -1
  70. package/dest/client/execution_note_cache.js +2 -2
  71. package/dest/client/execution_result.d.ts +17 -2
  72. package/dest/client/execution_result.d.ts.map +1 -1
  73. package/dest/client/execution_result.js +32 -4
  74. package/dest/client/private_execution.d.ts +2 -3
  75. package/dest/client/private_execution.d.ts.map +1 -1
  76. package/dest/client/private_execution.js +22 -8
  77. package/dest/client/simulator.d.ts +0 -16
  78. package/dest/client/simulator.d.ts.map +1 -1
  79. package/dest/client/simulator.js +13 -30
  80. package/dest/client/unconstrained_execution.d.ts +2 -3
  81. package/dest/client/unconstrained_execution.d.ts.map +1 -1
  82. package/dest/client/unconstrained_execution.js +5 -7
  83. package/dest/client/view_data_oracle.d.ts +12 -10
  84. package/dest/client/view_data_oracle.d.ts.map +1 -1
  85. package/dest/client/view_data_oracle.js +17 -11
  86. package/dest/common/index.d.ts +1 -0
  87. package/dest/common/index.d.ts.map +1 -1
  88. package/dest/common/index.js +2 -1
  89. package/dest/common/return_values.d.ts +11 -0
  90. package/dest/common/return_values.d.ts.map +1 -0
  91. package/dest/common/return_values.js +13 -0
  92. package/dest/index.d.ts +3 -1
  93. package/dest/index.d.ts.map +1 -1
  94. package/dest/index.js +4 -2
  95. package/dest/mocks/fixtures.d.ts +15 -10
  96. package/dest/mocks/fixtures.d.ts.map +1 -1
  97. package/dest/mocks/fixtures.js +22 -17
  98. package/dest/{simulator → providers}/acvm_native.d.ts.map +1 -1
  99. package/dest/{simulator → providers}/acvm_native.js +13 -14
  100. package/dest/providers/acvm_wasm.d.ts.map +1 -0
  101. package/dest/providers/acvm_wasm.js +15 -0
  102. package/dest/providers/index.d.ts.map +1 -0
  103. package/dest/{simulator → providers}/index.js +1 -1
  104. package/dest/{simulator → providers}/simulation_provider.d.ts.map +1 -1
  105. package/dest/{simulator → providers}/simulation_provider.js +1 -1
  106. package/dest/public/abstract_phase_manager.d.ts +43 -42
  107. package/dest/public/abstract_phase_manager.d.ts.map +1 -1
  108. package/dest/public/abstract_phase_manager.js +81 -103
  109. package/dest/public/app_logic_phase_manager.d.ts +7 -8
  110. package/dest/public/app_logic_phase_manager.d.ts.map +1 -1
  111. package/dest/public/app_logic_phase_manager.js +14 -14
  112. package/dest/public/{db.d.ts → db_interfaces.d.ts} +3 -3
  113. package/dest/public/db_interfaces.d.ts.map +1 -0
  114. package/dest/public/db_interfaces.js +2 -0
  115. package/dest/public/execution.d.ts +17 -14
  116. package/dest/public/execution.d.ts.map +1 -1
  117. package/dest/public/execution.js +1 -1
  118. package/dest/public/executor.d.ts +3 -30
  119. package/dest/public/executor.d.ts.map +1 -1
  120. package/dest/public/executor.js +32 -279
  121. package/dest/public/fee_payment.d.ts +11 -0
  122. package/dest/public/fee_payment.d.ts.map +1 -0
  123. package/dest/public/fee_payment.js +24 -0
  124. package/dest/public/hints_builder.d.ts +3 -2
  125. package/dest/public/hints_builder.d.ts.map +1 -1
  126. package/dest/public/hints_builder.js +8 -4
  127. package/dest/public/index.d.ts +4 -2
  128. package/dest/public/index.d.ts.map +1 -1
  129. package/dest/public/index.js +5 -3
  130. package/dest/public/phase_manager_factory.d.ts +1 -1
  131. package/dest/public/phase_manager_factory.d.ts.map +1 -1
  132. package/dest/public/{public_executor.d.ts → public_db_sources.d.ts} +3 -2
  133. package/dest/public/public_db_sources.d.ts.map +1 -0
  134. package/dest/public/public_db_sources.js +198 -0
  135. package/dest/public/public_kernel.js +14 -14
  136. package/dest/public/public_processor.d.ts +8 -6
  137. package/dest/public/public_processor.d.ts.map +1 -1
  138. package/dest/public/public_processor.js +48 -29
  139. package/dest/public/setup_phase_manager.d.ts +7 -9
  140. package/dest/public/setup_phase_manager.d.ts.map +1 -1
  141. package/dest/public/setup_phase_manager.js +11 -20
  142. package/dest/public/tail_phase_manager.d.ts +5 -11
  143. package/dest/public/tail_phase_manager.d.ts.map +1 -1
  144. package/dest/public/tail_phase_manager.js +16 -36
  145. package/dest/public/teardown_phase_manager.d.ts +7 -9
  146. package/dest/public/teardown_phase_manager.d.ts.map +1 -1
  147. package/dest/public/teardown_phase_manager.js +15 -21
  148. package/dest/public/transitional_adaptors.d.ts +3 -2
  149. package/dest/public/transitional_adaptors.d.ts.map +1 -1
  150. package/dest/public/transitional_adaptors.js +24 -8
  151. package/dest/public/utils.d.ts +2 -2
  152. package/dest/public/utils.d.ts.map +1 -1
  153. package/dest/public/utils.js +21 -14
  154. package/package.json +12 -9
  155. package/src/acvm/acvm.ts +0 -3
  156. package/src/acvm/oracle/oracle.ts +53 -27
  157. package/src/acvm/oracle/typed_oracle.ts +25 -16
  158. package/src/acvm/serialize.ts +1 -1
  159. package/src/avm/avm_execution_environment.ts +9 -5
  160. package/src/avm/avm_gas.ts +66 -73
  161. package/src/avm/avm_simulator.ts +14 -3
  162. package/src/avm/errors.ts +10 -0
  163. package/src/avm/fixtures/index.ts +22 -2
  164. package/src/avm/index.ts +1 -0
  165. package/src/avm/journal/host_storage.ts +1 -1
  166. package/src/avm/journal/journal.ts +15 -14
  167. package/src/avm/journal/nullifiers.ts +27 -14
  168. package/src/avm/journal/public_storage.ts +30 -16
  169. package/src/avm/journal/trace.ts +12 -0
  170. package/src/avm/journal/trace_types.ts +1 -0
  171. package/src/avm/opcodes/accrued_substate.ts +5 -6
  172. package/src/avm/opcodes/arithmetic.ts +1 -14
  173. package/src/avm/opcodes/conversion.ts +1 -1
  174. package/src/avm/opcodes/external_calls.ts +26 -10
  175. package/src/avm/opcodes/instruction.ts +5 -3
  176. package/src/avm/opcodes/memory.ts +1 -8
  177. package/src/avm/opcodes/storage.ts +3 -20
  178. package/src/avm/serialization/bytecode_serialization.ts +1 -1
  179. package/src/client/client_execution_context.ts +70 -44
  180. package/src/client/db_oracle.ts +18 -12
  181. package/src/client/execution_note_cache.ts +1 -1
  182. package/src/client/execution_result.ts +41 -3
  183. package/src/client/private_execution.ts +38 -20
  184. package/src/client/simulator.ts +11 -32
  185. package/src/client/unconstrained_execution.ts +9 -12
  186. package/src/client/view_data_oracle.ts +20 -12
  187. package/src/common/index.ts +1 -0
  188. package/src/common/return_values.ts +18 -0
  189. package/src/index.ts +3 -1
  190. package/src/mocks/fixtures.ts +31 -33
  191. package/src/{simulator → providers}/acvm_native.ts +21 -19
  192. package/src/{simulator → providers}/acvm_wasm.ts +2 -16
  193. package/src/public/abstract_phase_manager.ts +146 -207
  194. package/src/public/app_logic_phase_manager.ts +23 -39
  195. package/src/public/{db.ts → db_interfaces.ts} +2 -2
  196. package/src/public/execution.ts +17 -14
  197. package/src/public/executor.ts +51 -391
  198. package/src/public/fee_payment.ts +26 -0
  199. package/src/public/hints_builder.ts +17 -3
  200. package/src/public/index.ts +4 -2
  201. package/src/public/phase_manager_factory.ts +1 -1
  202. package/src/public/{public_executor.ts → public_db_sources.ts} +3 -2
  203. package/src/public/public_kernel.ts +24 -24
  204. package/src/public/public_processor.ts +82 -38
  205. package/src/public/setup_phase_manager.ts +20 -45
  206. package/src/public/tail_phase_manager.ts +18 -68
  207. package/src/public/teardown_phase_manager.ts +22 -41
  208. package/src/public/transitional_adaptors.ts +24 -13
  209. package/src/public/utils.ts +20 -14
  210. package/dest/client/logs_cache.d.ts +0 -33
  211. package/dest/client/logs_cache.d.ts.map +0 -1
  212. package/dest/client/logs_cache.js +0 -59
  213. package/dest/public/db.d.ts.map +0 -1
  214. package/dest/public/db.js +0 -2
  215. package/dest/public/public_execution_context.d.ts +0 -121
  216. package/dest/public/public_execution_context.d.ts.map +0 -1
  217. package/dest/public/public_execution_context.js +0 -214
  218. package/dest/public/public_executor.d.ts.map +0 -1
  219. package/dest/public/public_executor.js +0 -197
  220. package/dest/public/state_actions.d.ts +0 -39
  221. package/dest/public/state_actions.d.ts.map +0 -1
  222. package/dest/public/state_actions.js +0 -80
  223. package/dest/simulator/acvm_wasm.d.ts.map +0 -1
  224. package/dest/simulator/acvm_wasm.js +0 -22
  225. package/dest/simulator/index.d.ts.map +0 -1
  226. package/src/client/logs_cache.ts +0 -65
  227. package/src/public/public_execution_context.ts +0 -289
  228. package/src/public/state_actions.ts +0 -102
  229. /package/dest/{simulator → providers}/acvm_native.d.ts +0 -0
  230. /package/dest/{simulator → providers}/acvm_wasm.d.ts +0 -0
  231. /package/dest/{simulator → providers}/index.d.ts +0 -0
  232. /package/dest/{simulator → providers}/simulation_provider.d.ts +0 -0
  233. /package/src/{simulator → providers}/index.ts +0 -0
  234. /package/src/{simulator → providers}/simulation_provider.ts +0 -0
@@ -1,5 +1,5 @@
1
1
  import { PublicKernelType } from '@aztec/circuit-types';
2
- import { AbstractPhaseManager, PublicKernelPhase } from './abstract_phase_manager.js';
2
+ import { AbstractPhaseManager, PublicKernelPhase, makeAvmProvingRequest } from './abstract_phase_manager.js';
3
3
  /**
4
4
  * The phase manager responsible for performing the fee preparation phase.
5
5
  */
@@ -9,33 +9,24 @@ export class SetupPhaseManager extends AbstractPhaseManager {
9
9
  this.publicContractsDB = publicContractsDB;
10
10
  this.publicStateDB = publicStateDB;
11
11
  }
12
- async handle(tx, previousPublicKernelOutput, previousPublicKernelProof) {
12
+ async handle(tx, previousPublicKernelOutput) {
13
13
  this.log.verbose(`Processing tx ${tx.getTxHash()}`);
14
- const [kernelInputs, publicKernelOutput, publicKernelProof, newUnencryptedFunctionLogs, revertReason, _returnValues, gasUsed,] = await this.processEnqueuedPublicCalls(tx, previousPublicKernelOutput, previousPublicKernelProof).catch(
14
+ // TODO(#6464): Should we allow emitting contracts in the private setup phase?
15
+ // if so, this should only add contracts that were deployed during private app logic.
16
+ await this.publicContractsDB.addNewContracts(tx);
17
+ const { publicProvingInformation, kernelOutput, newUnencryptedLogs, revertReason, gasUsed } = await this.processEnqueuedPublicCalls(tx, previousPublicKernelOutput).catch(
15
18
  // the abstract phase manager throws if simulation gives error in a non-revertible phase
16
19
  async (err) => {
17
20
  await this.publicStateDB.rollbackToCommit();
18
21
  throw err;
19
22
  });
20
- tx.unencryptedLogs.addFunctionLogs(newUnencryptedFunctionLogs);
23
+ tx.unencryptedLogs.addFunctionLogs(newUnencryptedLogs);
21
24
  await this.publicStateDB.checkpoint();
22
25
  // Return a list of setup proving requests
23
- const kernelRequests = kernelInputs.map(input => {
24
- const request = {
25
- type: PublicKernelType.SETUP,
26
- inputs: input,
27
- };
28
- return request;
26
+ const publicProvingRequests = publicProvingInformation.map(info => {
27
+ return makeAvmProvingRequest(info, PublicKernelType.SETUP);
29
28
  });
30
- return {
31
- kernelRequests,
32
- kernelInputs,
33
- publicKernelOutput,
34
- publicKernelProof,
35
- revertReason,
36
- returnValues: undefined,
37
- gasUsed,
38
- };
29
+ return { publicProvingRequests, publicKernelOutput: kernelOutput, revertReason, returnValues: [], gasUsed };
39
30
  }
40
31
  }
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXBfcGhhc2VfbWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMvc2V0dXBfcGhhc2VfbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTRCLGdCQUFnQixFQUFXLE1BQU0sc0JBQXNCLENBQUM7QUFVM0YsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFJdEY7O0dBRUc7QUFDSCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsb0JBQW9CO0lBQ3pELFlBQ0UsRUFBd0IsRUFDeEIsY0FBOEIsRUFDOUIsWUFBMEMsRUFDMUMsZUFBZ0MsRUFDaEMsZ0JBQXdCLEVBQ2QsaUJBQThDLEVBQzlDLGFBQTRCLEVBQ3RDLFFBQTJCLGlCQUFpQixDQUFDLEtBQUs7UUFFbEQsS0FBSyxDQUFDLEVBQUUsRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUp4RSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQTZCO1FBQzlDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO0lBSXhDLENBQUM7SUFFUSxLQUFLLENBQUMsTUFBTSxDQUNuQixFQUFNLEVBQ04sMEJBQTJELEVBQzNELHlCQUFnQztRQUVoQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNwRCxNQUFNLENBQ0osWUFBWSxFQUNaLGtCQUFrQixFQUNsQixpQkFBaUIsRUFDakIsMEJBQTBCLEVBQzFCLFlBQVksRUFDWixhQUFhLEVBQ2IsT0FBTyxFQUNSLEdBQUcsTUFBTSxJQUFJLENBQUMsMEJBQTBCLENBQUMsRUFBRSxFQUFFLDBCQUEwQixFQUFFLHlCQUF5QixDQUFDLENBQUMsS0FBSztRQUN4Ryx3RkFBd0Y7UUFDeEYsS0FBSyxFQUFDLEdBQUcsRUFBQyxFQUFFO1lBQ1YsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDNUMsTUFBTSxHQUFHLENBQUM7UUFDWixDQUFDLENBQ0YsQ0FBQztRQUNGLEVBQUUsQ0FBQyxlQUFlLENBQUMsZUFBZSxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFDL0QsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBRXRDLDBDQUEwQztRQUMxQyxNQUFNLGNBQWMsR0FBRyxZQUFZLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzlDLE1BQU0sT0FBTyxHQUF3QjtnQkFDbkMsSUFBSSxFQUFFLGdCQUFnQixDQUFDLEtBQUs7Z0JBQzVCLE1BQU0sRUFBRSxLQUFLO2FBQ2QsQ0FBQztZQUNGLE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTztZQUNMLGNBQWM7WUFDZCxZQUFZO1lBQ1osa0JBQWtCO1lBQ2xCLGlCQUFpQjtZQUNqQixZQUFZO1lBQ1osWUFBWSxFQUFFLFNBQVM7WUFDdkIsT0FBTztTQUNSLENBQUM7SUFDSixDQUFDO0NBQ0YifQ==
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXBfcGhhc2VfbWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMvc2V0dXBfcGhhc2VfbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQXNDLE1BQU0sc0JBQXNCLENBQUM7QUFLNUYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGlCQUFpQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFJN0c7O0dBRUc7QUFDSCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsb0JBQW9CO0lBQ3pELFlBQ0UsRUFBd0IsRUFDeEIsY0FBOEIsRUFDOUIsWUFBMEMsRUFDMUMsZUFBZ0MsRUFDaEMsZ0JBQXdCLEVBQ2QsaUJBQThDLEVBQzlDLGFBQTRCLEVBQ3RDLFFBQTJCLGlCQUFpQixDQUFDLEtBQUs7UUFFbEQsS0FBSyxDQUFDLEVBQUUsRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUp4RSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQTZCO1FBQzlDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO0lBSXhDLENBQUM7SUFFUSxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQU0sRUFBRSwwQkFBMkQ7UUFDdkYsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDcEQsOEVBQThFO1FBQzlFLHFGQUFxRjtRQUNyRixNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDakQsTUFBTSxFQUFFLHdCQUF3QixFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLEdBQ3pGLE1BQU0sSUFBSSxDQUFDLDBCQUEwQixDQUFDLEVBQUUsRUFBRSwwQkFBMEIsQ0FBQyxDQUFDLEtBQUs7UUFDekUsd0ZBQXdGO1FBQ3hGLEtBQUssRUFBQyxHQUFHLEVBQUMsRUFBRTtZQUNWLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzVDLE1BQU0sR0FBRyxDQUFDO1FBQ1osQ0FBQyxDQUNGLENBQUM7UUFDSixFQUFFLENBQUMsZUFBZSxDQUFDLGVBQWUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3ZELE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUV0QywwQ0FBMEM7UUFDMUMsTUFBTSxxQkFBcUIsR0FBMkIsd0JBQXdCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3hGLE9BQU8scUJBQXFCLENBQUMsSUFBSSxFQUFFLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdELENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUM5RyxDQUFDO0NBQ0YifQ==
@@ -1,27 +1,21 @@
1
1
  import { type Tx } from '@aztec/circuit-types';
2
- import { type GlobalVariables, type Header, type KernelCircuitPublicInputs, type Proof, type PublicKernelCircuitPublicInputs } from '@aztec/circuits.js';
2
+ import { type GlobalVariables, type Header, type KernelCircuitPublicInputs, type PublicKernelCircuitPublicInputs } from '@aztec/circuits.js';
3
3
  import { type PublicExecutor, type PublicStateDB } from '@aztec/simulator';
4
4
  import { type MerkleTreeOperations } from '@aztec/world-state';
5
5
  import { AbstractPhaseManager, PublicKernelPhase } from './abstract_phase_manager.js';
6
- import { type ContractsDataSourcePublicDB } from './public_executor.js';
6
+ import { type ContractsDataSourcePublicDB } from './public_db_sources.js';
7
7
  import { type PublicKernelCircuitSimulator } from './public_kernel_circuit_simulator.js';
8
8
  export declare class TailPhaseManager extends AbstractPhaseManager {
9
9
  protected publicContractsDB: ContractsDataSourcePublicDB;
10
10
  protected publicStateDB: PublicStateDB;
11
11
  constructor(db: MerkleTreeOperations, publicExecutor: PublicExecutor, publicKernel: PublicKernelCircuitSimulator, globalVariables: GlobalVariables, historicalHeader: Header, publicContractsDB: ContractsDataSourcePublicDB, publicStateDB: PublicStateDB, phase?: PublicKernelPhase);
12
- handle(tx: Tx, previousPublicKernelOutput: PublicKernelCircuitPublicInputs, previousPublicKernelProof: Proof): Promise<{
13
- kernelRequests: import("@aztec/circuit-types").PublicKernelTailRequest[];
12
+ handle(tx: Tx, previousPublicKernelOutput: PublicKernelCircuitPublicInputs): Promise<{
13
+ publicProvingRequests: import("@aztec/circuit-types").PublicKernelTailRequest[];
14
14
  publicKernelOutput: PublicKernelCircuitPublicInputs;
15
15
  finalKernelOutput: KernelCircuitPublicInputs;
16
- publicKernelProof: Proof;
17
- revertReason: undefined;
18
- returnValues: undefined;
19
- gasUsed: undefined;
16
+ returnValues: never[];
20
17
  }>;
21
- private runTailKernelCircuit;
22
18
  private simulate;
23
19
  private buildPrivateInputs;
24
- private sortNoteHashes;
25
- private sortLogsHashes;
26
20
  }
27
21
  //# sourceMappingURL=tail_phase_manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tail_phase_manager.d.ts","sourceRoot":"","sources":["../../src/public/tail_phase_manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8C,KAAK,EAAE,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,MAAM,EACX,KAAK,yBAAyB,EAM9B,KAAK,KAAK,EACV,KAAK,+BAA+B,EAMrC,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE/D,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACtF,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AAEzF,qBAAa,gBAAiB,SAAQ,oBAAoB;IAOtD,SAAS,CAAC,iBAAiB,EAAE,2BAA2B;IACxD,SAAS,CAAC,aAAa,EAAE,aAAa;gBANtC,EAAE,EAAE,oBAAoB,EACxB,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,4BAA4B,EAC1C,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,MAAM,EACd,iBAAiB,EAAE,2BAA2B,EAC9C,aAAa,EAAE,aAAa,EACtC,KAAK,GAAE,iBAA0C;IAKpC,MAAM,CACnB,EAAE,EAAE,EAAE,EACN,0BAA0B,EAAE,+BAA+B,EAC3D,yBAAyB,EAAE,KAAK;;;;;;;;;YAiCpB,oBAAoB;YAqBpB,QAAQ;YASR,kBAAkB;IAkDhC,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,cAAc;CAMvB"}
1
+ {"version":3,"file":"tail_phase_manager.d.ts","sourceRoot":"","sources":["../../src/public/tail_phase_manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8C,KAAK,EAAE,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,MAAM,EACX,KAAK,yBAAyB,EAG9B,KAAK,+BAA+B,EAGrC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE/D,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACtF,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AAEzF,qBAAa,gBAAiB,SAAQ,oBAAoB;IAOtD,SAAS,CAAC,iBAAiB,EAAE,2BAA2B;IACxD,SAAS,CAAC,aAAa,EAAE,aAAa;gBANtC,EAAE,EAAE,oBAAoB,EACxB,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,4BAA4B,EAC1C,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,MAAM,EACd,iBAAiB,EAAE,2BAA2B,EAC9C,aAAa,EAAE,aAAa,EACtC,KAAK,GAAE,iBAA0C;IAKpC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,0BAA0B,EAAE,+BAA+B;;;;;;YAwB3E,QAAQ;YAQR,kBAAkB;CAoDjC"}
@@ -1,5 +1,5 @@
1
1
  import { PublicKernelType } from '@aztec/circuit-types';
2
- import { Fr, MAX_NEW_NOTE_HASHES_PER_TX, MAX_NEW_NULLIFIERS_PER_TX, MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX, PublicKernelTailCircuitPrivateInputs, SideEffect, makeEmptyProof, mergeAccumulatedData, sortByCounter, } from '@aztec/circuits.js';
2
+ import { CombineHints, MAX_NEW_NULLIFIERS_PER_TX, MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX, PublicKernelTailCircuitPrivateInputs, mergeAccumulatedData, } from '@aztec/circuits.js';
3
3
  import { AbstractPhaseManager, PublicKernelPhase } from './abstract_phase_manager.js';
4
4
  export class TailPhaseManager extends AbstractPhaseManager {
5
5
  constructor(db, publicExecutor, publicKernel, globalVariables, historicalHeader, publicContractsDB, publicStateDB, phase = PublicKernelPhase.TAIL) {
@@ -7,63 +7,43 @@ export class TailPhaseManager extends AbstractPhaseManager {
7
7
  this.publicContractsDB = publicContractsDB;
8
8
  this.publicStateDB = publicStateDB;
9
9
  }
10
- async handle(tx, previousPublicKernelOutput, previousPublicKernelProof) {
10
+ async handle(tx, previousPublicKernelOutput) {
11
11
  this.log.verbose(`Processing tx ${tx.getTxHash()}`);
12
- const [inputs, finalKernelOutput] = await this.runTailKernelCircuit(previousPublicKernelOutput, previousPublicKernelProof).catch(
12
+ const [inputs, finalKernelOutput] = await this.simulate(previousPublicKernelOutput).catch(
13
13
  // the abstract phase manager throws if simulation gives error in non-revertible phase
14
14
  async (err) => {
15
15
  await this.publicStateDB.rollbackToCommit();
16
16
  throw err;
17
17
  });
18
- // commit the state updates from this transaction
19
- await this.publicStateDB.commit();
20
18
  // Return a tail proving request
21
- const request = {
19
+ const kernelRequest = {
22
20
  type: PublicKernelType.TAIL,
23
21
  inputs: inputs,
24
22
  };
25
23
  return {
26
- kernelRequests: [request],
24
+ publicProvingRequests: [kernelRequest],
27
25
  publicKernelOutput: previousPublicKernelOutput,
28
26
  finalKernelOutput,
29
- publicKernelProof: makeEmptyProof(),
30
- revertReason: undefined,
31
- returnValues: undefined,
32
- gasUsed: undefined,
27
+ returnValues: [],
33
28
  };
34
29
  }
35
- async runTailKernelCircuit(previousOutput, previousProof) {
36
- // Temporary hack. Should sort them in the tail circuit.
37
- previousOutput.end.unencryptedLogsHashes = this.sortLogsHashes(previousOutput.end.unencryptedLogsHashes);
38
- const [inputs, output] = await this.simulate(previousOutput, previousProof);
39
- // Temporary hack. Should sort them in the tail circuit.
40
- const noteHashes = mergeAccumulatedData(previousOutput.endNonRevertibleData.newNoteHashes, previousOutput.end.newNoteHashes, MAX_NEW_NOTE_HASHES_PER_TX);
41
- output.end.newNoteHashes = this.sortNoteHashes(noteHashes);
42
- return [inputs, output];
43
- }
44
- async simulate(previousOutput, previousProof) {
45
- const inputs = await this.buildPrivateInputs(previousOutput, previousProof);
30
+ async simulate(previousOutput) {
31
+ const inputs = await this.buildPrivateInputs(previousOutput);
46
32
  // We take a deep copy (clone) of these to pass to the prover
47
33
  return [inputs.clone(), await this.publicKernel.publicKernelCircuitTail(inputs)];
48
34
  }
49
- async buildPrivateInputs(previousOutput, previousProof) {
50
- const previousKernel = this.getPreviousKernelData(previousOutput, previousProof);
51
- const { validationRequests, endNonRevertibleData, end } = previousOutput;
52
- const pendingNullifiers = mergeAccumulatedData(endNonRevertibleData.newNullifiers, end.newNullifiers, MAX_NEW_NULLIFIERS_PER_TX);
35
+ async buildPrivateInputs(previousOutput) {
36
+ const previousKernel = this.getPreviousKernelData(previousOutput);
37
+ const { validationRequests, endNonRevertibleData: nonRevertibleData, end: revertibleData } = previousOutput;
38
+ const pendingNullifiers = mergeAccumulatedData(nonRevertibleData.newNullifiers, revertibleData.newNullifiers, MAX_NEW_NULLIFIERS_PER_TX);
53
39
  const nullifierReadRequestHints = await this.hintsBuilder.getNullifierReadRequestHints(validationRequests.nullifierReadRequests, pendingNullifiers);
54
40
  const nullifierNonExistentReadRequestHints = await this.hintsBuilder.getNullifierNonExistentReadRequestHints(validationRequests.nullifierNonExistentReadRequests, pendingNullifiers);
55
- const pendingPublicDataWrites = mergeAccumulatedData(endNonRevertibleData.publicDataUpdateRequests, end.publicDataUpdateRequests, MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX);
41
+ const pendingPublicDataWrites = mergeAccumulatedData(nonRevertibleData.publicDataUpdateRequests, revertibleData.publicDataUpdateRequests, MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX);
56
42
  const publicDataHints = await this.hintsBuilder.getPublicDataHints(validationRequests.publicDataReads, pendingPublicDataWrites);
57
43
  const publicDataReadRequestHints = this.hintsBuilder.getPublicDataReadRequestHints(validationRequests.publicDataReads, pendingPublicDataWrites, publicDataHints);
58
44
  const currentState = await this.db.getStateReference();
59
- return new PublicKernelTailCircuitPrivateInputs(previousKernel, nullifierReadRequestHints, nullifierNonExistentReadRequestHints, publicDataHints, publicDataReadRequestHints, currentState.partial);
60
- }
61
- sortNoteHashes(noteHashes) {
62
- return sortByCounter(noteHashes).map(n => n.value);
63
- }
64
- sortLogsHashes(unencryptedLogsHashes) {
65
- // TODO(6052): logs here may have duplicate counters from nested calls
66
- return sortByCounter(unencryptedLogsHashes.map(n => ({ ...n, counter: n.counter.toNumber(), isEmpty: () => n.isEmpty() }))).map(h => new SideEffect(h.value, new Fr(h.counter)));
45
+ const hints = CombineHints.fromPublicData({ nonRevertibleData, revertibleData });
46
+ return new PublicKernelTailCircuitPrivateInputs(previousKernel, nullifierReadRequestHints, nullifierNonExistentReadRequestHints, publicDataHints, publicDataReadRequestHints, currentState.partial, hints);
67
47
  }
68
48
  }
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFpbF9waGFzZV9tYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3B1YmxpYy90YWlsX3BoYXNlX21hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUE0QixnQkFBZ0IsRUFBVyxNQUFNLHNCQUFzQixDQUFDO0FBQzNGLE9BQU8sRUFDTCxFQUFFLEVBSUYsMEJBQTBCLEVBQzFCLHlCQUF5QixFQUN6QixzQ0FBc0MsRUFLdEMsb0NBQW9DLEVBQ3BDLFVBQVUsRUFDVixjQUFjLEVBQ2Qsb0JBQW9CLEVBQ3BCLGFBQWEsR0FDZCxNQUFNLG9CQUFvQixDQUFDO0FBSzVCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBSXRGLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxvQkFBb0I7SUFDeEQsWUFDRSxFQUF3QixFQUN4QixjQUE4QixFQUM5QixZQUEwQyxFQUMxQyxlQUFnQyxFQUNoQyxnQkFBd0IsRUFDZCxpQkFBOEMsRUFDOUMsYUFBNEIsRUFDdEMsUUFBMkIsaUJBQWlCLENBQUMsSUFBSTtRQUVqRCxLQUFLLENBQUMsRUFBRSxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBSnhFLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBNkI7UUFDOUMsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFJeEMsQ0FBQztJQUVRLEtBQUssQ0FBQyxNQUFNLENBQ25CLEVBQU0sRUFDTiwwQkFBMkQsRUFDM0QseUJBQWdDO1FBRWhDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3BELE1BQU0sQ0FBQyxNQUFNLEVBQUUsaUJBQWlCLENBQUMsR0FBRyxNQUFNLElBQUksQ0FBQyxvQkFBb0IsQ0FDakUsMEJBQTBCLEVBQzFC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
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFpbF9waGFzZV9tYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3B1YmxpYy90YWlsX3BoYXNlX21hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUE0QixnQkFBZ0IsRUFBVyxNQUFNLHNCQUFzQixDQUFDO0FBQzNGLE9BQU8sRUFDTCxZQUFZLEVBSVoseUJBQXlCLEVBQ3pCLHNDQUFzQyxFQUV0QyxvQ0FBb0MsRUFDcEMsb0JBQW9CLEdBQ3JCLE1BQU0sb0JBQW9CLENBQUM7QUFJNUIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFJdEYsTUFBTSxPQUFPLGdCQUFpQixTQUFRLG9CQUFvQjtJQUN4RCxZQUNFLEVBQXdCLEVBQ3hCLGNBQThCLEVBQzlCLFlBQTBDLEVBQzFDLGVBQWdDLEVBQ2hDLGdCQUF3QixFQUNkLGlCQUE4QyxFQUM5QyxhQUE0QixFQUN0QyxRQUEyQixpQkFBaUIsQ0FBQyxJQUFJO1FBRWpELEtBQUssQ0FBQyxFQUFFLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFKeEUsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUE2QjtRQUM5QyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtJQUl4QyxDQUFDO0lBRVEsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFNLEVBQUUsMEJBQTJEO1FBQ3ZGLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3BELE1BQU0sQ0FBQyxNQUFNLEVBQUUsaUJBQWlCLENBQUMsR0FBRyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxLQUFLO1FBQ3ZGLHNGQUFzRjtRQUN0RixLQUFLLEVBQUMsR0FBRyxFQUFDLEVBQUU7WUFDVixN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
@@ -1,9 +1,9 @@
1
- import { type Tx } from '@aztec/circuit-types';
2
- import { type Fr, type Gas, type GlobalVariables, type Header, type Proof, type PublicKernelCircuitPublicInputs } from '@aztec/circuits.js';
1
+ import { type PublicProvingRequest, type Tx } from '@aztec/circuit-types';
2
+ import { type Fr, type Gas, type GlobalVariables, type Header, type PublicKernelCircuitPublicInputs } from '@aztec/circuits.js';
3
3
  import { type PublicExecutor, type PublicStateDB } from '@aztec/simulator';
4
4
  import { type MerkleTreeOperations } from '@aztec/world-state';
5
5
  import { AbstractPhaseManager, PublicKernelPhase } from './abstract_phase_manager.js';
6
- import { type ContractsDataSourcePublicDB } from './public_executor.js';
6
+ import { type ContractsDataSourcePublicDB } from './public_db_sources.js';
7
7
  import { type PublicKernelCircuitSimulator } from './public_kernel_circuit_simulator.js';
8
8
  /**
9
9
  * The phase manager responsible for performing the fee preparation phase.
@@ -12,14 +12,12 @@ export declare class TeardownPhaseManager extends AbstractPhaseManager {
12
12
  protected publicContractsDB: ContractsDataSourcePublicDB;
13
13
  protected publicStateDB: PublicStateDB;
14
14
  constructor(db: MerkleTreeOperations, publicExecutor: PublicExecutor, publicKernel: PublicKernelCircuitSimulator, globalVariables: GlobalVariables, historicalHeader: Header, publicContractsDB: ContractsDataSourcePublicDB, publicStateDB: PublicStateDB, phase?: PublicKernelPhase);
15
- handle(tx: Tx, previousPublicKernelOutput: PublicKernelCircuitPublicInputs, previousPublicKernelProof: Proof): Promise<{
16
- kernelRequests: import("@aztec/circuit-types").PublicKernelNonTailRequest[];
17
- kernelInputs: import("@aztec/circuits.js").PublicKernelCircuitPrivateInputs[];
15
+ handle(tx: Tx, previousPublicKernelOutput: PublicKernelCircuitPublicInputs): Promise<{
16
+ publicProvingRequests: PublicProvingRequest[];
18
17
  publicKernelOutput: PublicKernelCircuitPublicInputs;
19
- publicKernelProof: Proof;
20
18
  revertReason: import("@aztec/circuit-types").SimulationError | undefined;
21
- returnValues: undefined;
22
- gasUsed: Gas;
19
+ returnValues: never[];
20
+ gasUsed: Gas | undefined;
23
21
  }>;
24
22
  protected getTransactionFee(tx: Tx, previousPublicKernelOutput: PublicKernelCircuitPublicInputs): Fr;
25
23
  protected getAvailableGas(tx: Tx, _previousPublicKernelOutput: PublicKernelCircuitPublicInputs): Gas;
@@ -1 +1 @@
1
- {"version":3,"file":"teardown_phase_manager.d.ts","sourceRoot":"","sources":["../../src/public/teardown_phase_manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8C,KAAK,EAAE,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EACL,KAAK,EAAE,EACP,KAAK,GAAG,EACR,KAAK,eAAe,EACpB,KAAK,MAAM,EACX,KAAK,KAAK,EACV,KAAK,+BAA+B,EACrC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAI/D,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACtF,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AAEzF;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,oBAAoB;IAO1D,SAAS,CAAC,iBAAiB,EAAE,2BAA2B;IACxD,SAAS,CAAC,aAAa,EAAE,aAAa;gBANtC,EAAE,EAAE,oBAAoB,EACxB,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,4BAA4B,EAC1C,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,MAAM,EACd,iBAAiB,EAAE,2BAA2B,EAC9C,aAAa,EAAE,aAAa,EACtC,KAAK,GAAE,iBAA8C;IAKxC,MAAM,CACnB,EAAE,EAAE,EAAE,EACN,0BAA0B,EAAE,+BAA+B,EAC3D,yBAAyB,EAAE,KAAK;;;;;;;;;cAwCf,iBAAiB,CAAC,EAAE,EAAE,EAAE,EAAE,0BAA0B,EAAE,+BAA+B,GAAG,EAAE;cAU1F,eAAe,CAAC,EAAE,EAAE,EAAE,EAAE,2BAA2B,EAAE,+BAA+B,GAAG,GAAG;CAG9G"}
1
+ {"version":3,"file":"teardown_phase_manager.d.ts","sourceRoot":"","sources":["../../src/public/teardown_phase_manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,oBAAoB,EAAE,KAAK,EAAE,EAAE,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EACL,KAAK,EAAE,EACP,KAAK,GAAG,EACR,KAAK,eAAe,EACpB,KAAK,MAAM,EACX,KAAK,+BAA+B,EACrC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAI/D,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAyB,MAAM,6BAA6B,CAAC;AAC7G,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AAEzF;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,oBAAoB;IAO1D,SAAS,CAAC,iBAAiB,EAAE,2BAA2B;IACxD,SAAS,CAAC,aAAa,EAAE,aAAa;gBANtC,EAAE,EAAE,oBAAoB,EACxB,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,4BAA4B,EAC1C,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,MAAM,EACd,iBAAiB,EAAE,2BAA2B,EAC9C,aAAa,EAAE,aAAa,EACtC,KAAK,GAAE,iBAA8C;IAKxC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,0BAA0B,EAAE,+BAA+B;;;;;;;cAyBtE,iBAAiB,CAAC,EAAE,EAAE,EAAE,EAAE,0BAA0B,EAAE,+BAA+B,GAAG,EAAE;cAU1F,eAAe,CAAC,EAAE,EAAE,EAAE,EAAE,2BAA2B,EAAE,+BAA+B,GAAG,GAAG;CAG9G"}
@@ -1,6 +1,6 @@
1
1
  import { PublicKernelType } from '@aztec/circuit-types';
2
2
  import { inspect } from 'util';
3
- import { AbstractPhaseManager, PublicKernelPhase } from './abstract_phase_manager.js';
3
+ import { AbstractPhaseManager, PublicKernelPhase, makeAvmProvingRequest } from './abstract_phase_manager.js';
4
4
  /**
5
5
  * The phase manager responsible for performing the fee preparation phase.
6
6
  */
@@ -10,33 +10,27 @@ export class TeardownPhaseManager extends AbstractPhaseManager {
10
10
  this.publicContractsDB = publicContractsDB;
11
11
  this.publicStateDB = publicStateDB;
12
12
  }
13
- async handle(tx, previousPublicKernelOutput, previousPublicKernelProof) {
13
+ async handle(tx, previousPublicKernelOutput) {
14
14
  this.log.verbose(`Processing tx ${tx.getTxHash()}`);
15
- const [kernelInputs, publicKernelOutput, publicKernelProof, newUnencryptedFunctionLogs, revertReason, _returnValues, gasUsed,] = await this.processEnqueuedPublicCalls(tx, previousPublicKernelOutput, previousPublicKernelProof).catch(
15
+ const { publicProvingInformation, kernelOutput, newUnencryptedLogs, revertReason, gasUsed } = await this.processEnqueuedPublicCalls(tx, previousPublicKernelOutput).catch(
16
16
  // the abstract phase manager throws if simulation gives error in a non-revertible phase
17
17
  async (err) => {
18
18
  await this.publicStateDB.rollbackToCommit();
19
19
  throw err;
20
20
  });
21
- tx.unencryptedLogs.addFunctionLogs(newUnencryptedFunctionLogs);
22
- await this.publicStateDB.checkpoint();
21
+ if (revertReason) {
22
+ await this.publicStateDB.rollbackToCheckpoint();
23
+ }
24
+ else {
25
+ // TODO(#6464): Should we allow emitting contracts in the public teardown phase?
26
+ // if so, we should insert them here
27
+ tx.unencryptedLogs.addFunctionLogs(newUnencryptedLogs);
28
+ }
23
29
  // Return a list of teardown proving requests
24
- const kernelRequests = kernelInputs.map(input => {
25
- const request = {
26
- type: PublicKernelType.TEARDOWN,
27
- inputs: input,
28
- };
29
- return request;
30
+ const publicProvingRequests = publicProvingInformation.map(info => {
31
+ return makeAvmProvingRequest(info, PublicKernelType.TEARDOWN);
30
32
  });
31
- return {
32
- kernelRequests,
33
- kernelInputs,
34
- publicKernelOutput,
35
- publicKernelProof,
36
- revertReason,
37
- returnValues: undefined,
38
- gasUsed,
39
- };
33
+ return { publicProvingRequests, publicKernelOutput: kernelOutput, revertReason, returnValues: [], gasUsed };
40
34
  }
41
35
  getTransactionFee(tx, previousPublicKernelOutput) {
42
36
  const gasSettings = tx.data.constants.txContext.gasSettings;
@@ -51,4 +45,4 @@ export class TeardownPhaseManager extends AbstractPhaseManager {
51
45
  return tx.data.constants.txContext.gasSettings.getTeardownLimits();
52
46
  }
53
47
  }
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVhcmRvd25fcGhhc2VfbWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMvdGVhcmRvd25fcGhhc2VfbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTRCLGdCQUFnQixFQUFXLE1BQU0sc0JBQXNCLENBQUM7QUFZM0YsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUl0Rjs7R0FFRztBQUNILE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxvQkFBb0I7SUFDNUQsWUFDRSxFQUF3QixFQUN4QixjQUE4QixFQUM5QixZQUEwQyxFQUMxQyxlQUFnQyxFQUNoQyxnQkFBd0IsRUFDZCxpQkFBOEMsRUFDOUMsYUFBNEIsRUFDdEMsUUFBMkIsaUJBQWlCLENBQUMsUUFBUTtRQUVyRCxLQUFLLENBQUMsRUFBRSxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBSnhFLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBNkI7UUFDOUMsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFJeEMsQ0FBQztJQUVRLEtBQUssQ0FBQyxNQUFNLENBQ25CLEVBQU0sRUFDTiwwQkFBMkQsRUFDM0QseUJBQWdDO1FBRWhDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3BELE1BQU0sQ0FDSixZQUFZLEVBQ1osa0JBQWtCLEVBQ2xCLGlCQUFpQixFQUNqQiwwQkFBMEIsRUFDMUIsWUFBWSxFQUNaLGFBQWEsRUFDYixPQUFPLEVBQ1IsR0FBRyxNQUFNLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxFQUFFLEVBQUUsMEJBQTBCLEVBQUUseUJBQXlCLENBQUMsQ0FBQyxLQUFLO1FBQ3hHLHdGQUF3RjtRQUN4RixLQUFLLEVBQUMsR0FBRyxFQUFDLEVBQUU7WUFDVixNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUM1QyxNQUFNLEdBQUcsQ0FBQztRQUNaLENBQUMsQ0FDRixDQUFDO1FBQ0YsRUFBRSxDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUMvRCxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFdEMsNkNBQTZDO1FBQzdDLE1BQU0sY0FBYyxHQUFHLFlBQVksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDOUMsTUFBTSxPQUFPLEdBQXdCO2dCQUNuQyxJQUFJLEVBQUUsZ0JBQWdCLENBQUMsUUFBUTtnQkFDL0IsTUFBTSxFQUFFLEtBQUs7YUFDZCxDQUFDO1lBQ0YsT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPO1lBQ0wsY0FBYztZQUNkLFlBQVk7WUFDWixrQkFBa0I7WUFDbEIsaUJBQWlCO1lBQ2pCLFlBQVk7WUFDWixZQUFZLEVBQUUsU0FBUztZQUN2QixPQUFPO1NBQ1IsQ0FBQztJQUNKLENBQUM7SUFFa0IsaUJBQWlCLENBQUMsRUFBTSxFQUFFLDBCQUEyRDtRQUN0RyxNQUFNLFdBQVcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDO1FBQzVELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDO1FBQzdDLGdGQUFnRjtRQUNoRixNQUFNLE9BQU8sR0FBRywwQkFBMEIsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwSCxNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNuRyxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFa0IsZUFBZSxDQUFDLEVBQU0sRUFBRSwyQkFBNEQ7UUFDckcsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDckUsQ0FBQztDQUNGIn0=
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVhcmRvd25fcGhhc2VfbWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMvdGVhcmRvd25fcGhhc2VfbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQXNDLE1BQU0sc0JBQXNCLENBQUM7QUFXNUYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsaUJBQWlCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUk3Rzs7R0FFRztBQUNILE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxvQkFBb0I7SUFDNUQsWUFDRSxFQUF3QixFQUN4QixjQUE4QixFQUM5QixZQUEwQyxFQUMxQyxlQUFnQyxFQUNoQyxnQkFBd0IsRUFDZCxpQkFBOEMsRUFDOUMsYUFBNEIsRUFDdEMsUUFBMkIsaUJBQWlCLENBQUMsUUFBUTtRQUVyRCxLQUFLLENBQUMsRUFBRSxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBSnhFLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBNkI7UUFDOUMsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFJeEMsQ0FBQztJQUVRLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBTSxFQUFFLDBCQUEyRDtRQUN2RixJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNwRCxNQUFNLEVBQUUsd0JBQXdCLEVBQUUsWUFBWSxFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsR0FDekYsTUFBTSxJQUFJLENBQUMsMEJBQTBCLENBQUMsRUFBRSxFQUFFLDBCQUEwQixDQUFDLENBQUMsS0FBSztRQUN6RSx3RkFBd0Y7UUFDeEYsS0FBSyxFQUFDLEdBQUcsRUFBQyxFQUFFO1lBQ1YsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDNUMsTUFBTSxHQUFHLENBQUM7UUFDWixDQUFDLENBQ0YsQ0FBQztRQUNKLElBQUksWUFBWSxFQUFFLENBQUM7WUFDakIsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDbEQsQ0FBQzthQUFNLENBQUM7WUFDTixnRkFBZ0Y7WUFDaEYsb0NBQW9DO1lBQ3BDLEVBQUUsQ0FBQyxlQUFlLENBQUMsZUFBZSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDekQsQ0FBQztRQUVELDZDQUE2QztRQUM3QyxNQUFNLHFCQUFxQixHQUEyQix3QkFBd0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDeEYsT0FBTyxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEUsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQzlHLENBQUM7SUFFa0IsaUJBQWlCLENBQUMsRUFBTSxFQUFFLDBCQUEyRDtRQUN0RyxNQUFNLFdBQVcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDO1FBQzVELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDO1FBQzdDLGdGQUFnRjtRQUNoRixNQUFNLE9BQU8sR0FBRywwQkFBMEIsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwSCxNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNuRyxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFa0IsZUFBZSxDQUFDLEVBQU0sRUFBRSwyQkFBNEQ7UUFDckcsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDckUsQ0FBQztDQUNGIn0=
@@ -14,7 +14,8 @@ import { type PublicExecution, type PublicExecutionResult } from './execution.js
14
14
  */
15
15
  export declare function createAvmExecutionEnvironment(current: PublicExecution, header: Header, globalVariables: GlobalVariables, gasSettings: GasSettings, transactionFee: Fr): AvmExecutionEnvironment;
16
16
  export declare function createPublicExecution(startSideEffectCounter: number, avmEnvironment: AvmExecutionEnvironment, calldata: Fr[]): PublicExecution;
17
- export declare function convertAvmResultsToPxResult(avmResult: AvmContractCallResults, startSideEffectCounter: number, fromPx: PublicExecution, startGas: Gas, endAvmContext: AvmContext): PublicExecutionResult;
17
+ export declare function convertAvmResultsToPxResult(avmResult: AvmContractCallResults, startSideEffectCounter: number, fromPx: PublicExecution, startGas: Gas, endAvmContext: AvmContext, bytecode: Buffer | undefined): PublicExecutionResult;
18
18
  export declare function markBytecodeAsAvm(bytecode: Buffer): Buffer;
19
- export declare function isAvmBytecode(bytecode: Buffer): boolean;
19
+ export declare function decompressBytecodeIfCompressed(bytecode: Buffer): Promise<Buffer>;
20
+ export declare function isAvmBytecode(bytecode: Buffer): Promise<boolean>;
20
21
  //# sourceMappingURL=transitional_adaptors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transitional_adaptors.d.ts","sourceRoot":"","sources":["../../src/public/transitional_adaptors.ts"],"names":[],"mappings":";AAEA,OAAO,EAGL,KAAK,GAAG,EACR,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,MAAM,EACZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAGhF,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAElF;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,eAAe,EAChC,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,EAAE,GACjB,uBAAuB,CAiBzB;AAED,wBAAgB,qBAAqB,CACnC,sBAAsB,EAAE,MAAM,EAC9B,cAAc,EAAE,uBAAuB,EACvC,QAAQ,EAAE,EAAE,EAAE,GACb,eAAe,CAiBjB;AAED,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,sBAAsB,EACjC,sBAAsB,EAAE,MAAM,EAC9B,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,GAAG,EACb,aAAa,EAAE,UAAU,GACxB,qBAAqB,CAoBvB;AASD,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAGvD"}
1
+ {"version":3,"file":"transitional_adaptors.d.ts","sourceRoot":"","sources":["../../src/public/transitional_adaptors.ts"],"names":[],"mappings":";AAEA,OAAO,EAAe,KAAK,GAAG,EAAE,KAAK,WAAW,EAAE,KAAK,eAAe,EAAE,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAChH,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAK9C,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAGhF,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAElF;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,eAAe,EAChC,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,EAAE,GACjB,uBAAuB,CAiBzB;AAED,wBAAgB,qBAAqB,CACnC,sBAAsB,EAAE,MAAM,EAC9B,cAAc,EAAE,uBAAuB,EACvC,QAAQ,EAAE,EAAE,EAAE,GACb,eAAe,CAgBjB;AAED,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,sBAAsB,EACjC,sBAAsB,EAAE,MAAM,EAC9B,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,GAAG,EACb,aAAa,EAAE,UAAU,EACzB,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,qBAAqB,CAuBvB;AASD,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE1D;AAGD,wBAAsB,8BAA8B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQtF;AAED,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAItE"}
@@ -1,7 +1,9 @@
1
1
  // All code in this file needs to die once the public executor is phased out in favor of the AVM.
2
2
  import { UnencryptedFunctionL2Logs } from '@aztec/circuit-types';
3
- import { CallContext, FunctionData, } from '@aztec/circuits.js';
3
+ import { CallContext } from '@aztec/circuits.js';
4
4
  import { Fr } from '@aztec/foundation/fields';
5
+ import { promisify } from 'util';
6
+ import { gunzip } from 'zlib';
5
7
  import { AvmExecutionEnvironment } from '../avm/avm_execution_environment.js';
6
8
  import { Mov } from '../avm/opcodes/memory.js';
7
9
  import { createSimulationError } from '../common/errors.js';
@@ -14,7 +16,7 @@ import { createSimulationError } from '../common/errors.js';
14
16
  */
15
17
  export function createAvmExecutionEnvironment(current, header, globalVariables, gasSettings, transactionFee) {
16
18
  return new AvmExecutionEnvironment(current.contractAddress, current.callContext.storageContractAddress, current.callContext.msgSender, globalVariables.gasFees.feePerL2Gas, globalVariables.gasFees.feePerDaGas,
17
- /*contractCallDepth=*/ Fr.zero(), header, globalVariables, current.callContext.isStaticCall, current.callContext.isDelegateCall, current.args, gasSettings, transactionFee, current.functionData.selector);
19
+ /*contractCallDepth=*/ Fr.zero(), header, globalVariables, current.callContext.isStaticCall, current.callContext.isDelegateCall, current.args, gasSettings, transactionFee, current.functionSelector);
18
20
  }
19
21
  export function createPublicExecution(startSideEffectCounter, avmEnvironment, calldata) {
20
22
  const callContext = CallContext.from({
@@ -25,16 +27,15 @@ export function createPublicExecution(startSideEffectCounter, avmEnvironment, ca
25
27
  isStaticCall: avmEnvironment.isStaticCall,
26
28
  sideEffectCounter: startSideEffectCounter,
27
29
  });
28
- const functionData = new FunctionData(avmEnvironment.temporaryFunctionSelector, /*isPrivate=*/ false);
29
30
  const execution = {
30
31
  contractAddress: avmEnvironment.address,
31
32
  callContext,
32
33
  args: calldata,
33
- functionData,
34
+ functionSelector: avmEnvironment.temporaryFunctionSelector,
34
35
  };
35
36
  return execution;
36
37
  }
37
- export function convertAvmResultsToPxResult(avmResult, startSideEffectCounter, fromPx, startGas, endAvmContext) {
38
+ export function convertAvmResultsToPxResult(avmResult, startSideEffectCounter, fromPx, startGas, endAvmContext, bytecode) {
38
39
  const endPersistableState = endAvmContext.persistableState;
39
40
  const endMachineState = endAvmContext.machineState;
40
41
  return {
@@ -50,6 +51,9 @@ export function convertAvmResultsToPxResult(avmResult, startSideEffectCounter, f
50
51
  startGasLeft: startGas,
51
52
  endGasLeft: endMachineState.gasLeft,
52
53
  transactionFee: endAvmContext.environment.transactionFee,
54
+ bytecode: bytecode,
55
+ calldata: endAvmContext.environment.calldata,
56
+ avmHints: endPersistableState.trace.toHints(),
53
57
  };
54
58
  }
55
59
  const AVM_MAGIC_SUFFIX = Buffer.from([
@@ -61,8 +65,20 @@ const AVM_MAGIC_SUFFIX = Buffer.from([
61
65
  export function markBytecodeAsAvm(bytecode) {
62
66
  return Buffer.concat([bytecode, AVM_MAGIC_SUFFIX]);
63
67
  }
64
- export function isAvmBytecode(bytecode) {
68
+ // This is just a helper function for the AVM circuit.
69
+ export async function decompressBytecodeIfCompressed(bytecode) {
70
+ try {
71
+ return await promisify(gunzip)(bytecode);
72
+ }
73
+ catch {
74
+ // If the bytecode is not compressed, the gunzip call will throw an error
75
+ // In this case, we assume the bytecode is not compressed and continue.
76
+ return Promise.resolve(bytecode);
77
+ }
78
+ }
79
+ export async function isAvmBytecode(bytecode) {
80
+ const decompressedBytecode = await decompressBytecodeIfCompressed(bytecode);
65
81
  const magicSize = AVM_MAGIC_SUFFIX.length;
66
- return bytecode.subarray(-magicSize).equals(AVM_MAGIC_SUFFIX);
82
+ return decompressedBytecode.subarray(-magicSize).equals(AVM_MAGIC_SUFFIX);
67
83
  }
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNpdGlvbmFsX2FkYXB0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3B1YmxpYy90cmFuc2l0aW9uYWxfYWRhcHRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUdBQWlHO0FBQ2pHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pFLE9BQU8sRUFDTCxXQUFXLEVBQ1gsWUFBWSxHQUtiLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRzlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRTlFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUc1RDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsNkJBQTZCLENBQzNDLE9BQXdCLEVBQ3hCLE1BQWMsRUFDZCxlQUFnQyxFQUNoQyxXQUF3QixFQUN4QixjQUFrQjtJQUVsQixPQUFPLElBQUksdUJBQXVCLENBQ2hDLE9BQU8sQ0FBQyxlQUFlLEVBQ3ZCLE9BQU8sQ0FBQyxXQUFXLENBQUMsc0JBQXNCLEVBQzFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUM3QixlQUFlLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFDbkMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxXQUFXO0lBQ25DLHNCQUFzQixDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFDaEMsTUFBTSxFQUNOLGVBQWUsRUFDZixPQUFPLENBQUMsV0FBVyxDQUFDLFlBQVksRUFDaEMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQ2xDLE9BQU8sQ0FBQyxJQUFJLEVBQ1osV0FBVyxFQUNYLGNBQWMsRUFDZCxPQUFPLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FDOUIsQ0FBQztBQUNK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
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNpdGlvbmFsX2FkYXB0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3B1YmxpYy90cmFuc2l0aW9uYWxfYWRhcHRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUdBQWlHO0FBQ2pHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxXQUFXLEVBQWlFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEgsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTlDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUc5QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUU5RSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHNUQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLDZCQUE2QixDQUMzQyxPQUF3QixFQUN4QixNQUFjLEVBQ2QsZUFBZ0MsRUFDaEMsV0FBd0IsRUFDeEIsY0FBa0I7SUFFbEIsT0FBTyxJQUFJLHVCQUF1QixDQUNoQyxPQUFPLENBQUMsZUFBZSxFQUN2QixPQUFPLENBQUMsV0FBVyxDQUFDLHNCQUFzQixFQUMxQyxPQUFPLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFDN0IsZUFBZSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQ25DLGVBQWUsQ0FBQyxPQUFPLENBQUMsV0FBVztJQUNuQyxzQkFBc0IsQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQ2hDLE1BQU0sRUFDTixlQUFlLEVBQ2YsT0FBTyxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQ2hDLE9BQU8sQ0FBQyxXQUFXLENBQUMsY0FBYyxFQUNsQyxPQUFPLENB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
@@ -1,8 +1,8 @@
1
- import { type Tx } from '@aztec/circuit-types';
1
+ import { type PublicKernelCircuitPublicInputs } from '@aztec/circuits.js';
2
2
  /**
3
3
  * Looks at the side effects of a transaction and returns the highest counter
4
4
  * @param tx - A transaction
5
5
  * @returns The highest side effect counter in the transaction so far
6
6
  */
7
- export declare function lastSideEffectCounter(tx: Tx): number;
7
+ export declare function lastSideEffectCounter(inputs: PublicKernelCircuitPublicInputs): number;
8
8
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/public/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,sBAAsB,CAAC;AAG/C;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,CAwBpD"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/public/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,+BAA+B,EAAE,MAAM,oBAAoB,CAAC;AAE1E;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,+BAA+B,GAAG,MAAM,CA+BrF"}
@@ -1,31 +1,38 @@
1
- import { CallRequest } from '@aztec/circuits.js';
2
1
  /**
3
2
  * Looks at the side effects of a transaction and returns the highest counter
4
3
  * @param tx - A transaction
5
4
  * @returns The highest side effect counter in the transaction so far
6
5
  */
7
- export function lastSideEffectCounter(tx) {
8
- const data = tx.data.forPublic;
6
+ export function lastSideEffectCounter(inputs) {
9
7
  const sideEffectCounters = [
10
- ...data.endNonRevertibleData.newNoteHashes,
11
- ...data.endNonRevertibleData.newNullifiers,
12
- ...data.endNonRevertibleData.publicCallStack,
13
- ...data.end.newNoteHashes,
14
- ...data.end.newNullifiers,
15
- ...data.end.unencryptedLogsHashes,
16
- ...data.end.publicCallStack,
8
+ ...inputs.endNonRevertibleData.newNoteHashes,
9
+ ...inputs.endNonRevertibleData.newNullifiers,
10
+ ...inputs.endNonRevertibleData.noteEncryptedLogsHashes,
11
+ ...inputs.endNonRevertibleData.encryptedLogsHashes,
12
+ ...inputs.endNonRevertibleData.unencryptedLogsHashes,
13
+ ...inputs.endNonRevertibleData.publicCallStack,
14
+ ...inputs.endNonRevertibleData.publicDataUpdateRequests,
15
+ ...inputs.end.newNoteHashes,
16
+ ...inputs.end.newNullifiers,
17
+ ...inputs.end.noteEncryptedLogsHashes,
18
+ ...inputs.end.encryptedLogsHashes,
19
+ ...inputs.end.unencryptedLogsHashes,
20
+ ...inputs.end.publicCallStack,
21
+ ...inputs.end.publicDataUpdateRequests,
17
22
  ];
18
23
  let max = 0;
19
24
  for (const sideEffect of sideEffectCounters) {
20
- if (sideEffect instanceof CallRequest) {
25
+ if ('startSideEffectCounter' in sideEffect) {
21
26
  // look at both start and end counters because for enqueued public calls start > 0 while end === 0
22
27
  max = Math.max(max, sideEffect.startSideEffectCounter.toNumber(), sideEffect.endSideEffectCounter.toNumber());
23
28
  }
29
+ else if ('counter' in sideEffect) {
30
+ max = Math.max(max, sideEffect.counter);
31
+ }
24
32
  else {
25
- const counter = typeof sideEffect.counter === 'number' ? sideEffect.counter : sideEffect.counter.toNumber();
26
- max = Math.max(max, counter);
33
+ throw new Error('Unknown side effect type');
27
34
  }
28
35
  }
29
36
  return max;
30
37
  }
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHVibGljL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVqRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLHFCQUFxQixDQUFDLEVBQU07SUFDMUMsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFVLENBQUM7SUFDaEMsTUFBTSxrQkFBa0IsR0FBRztRQUN6QixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhO1FBQzFDLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGFBQWE7UUFDMUMsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsZUFBZTtRQUM1QyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYTtRQUN6QixHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYTtRQUN6QixHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMscUJBQXFCO1FBQ2pDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlO0tBQzVCLENBQUM7SUFFRixJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDWixLQUFLLE1BQU0sVUFBVSxJQUFJLGtCQUFrQixFQUFFLENBQUM7UUFDNUMsSUFBSSxVQUFVLFlBQVksV0FBVyxFQUFFLENBQUM7WUFDdEMsa0dBQWtHO1lBQ2xHLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLEVBQUUsVUFBVSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDaEgsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLE9BQU8sR0FBRyxPQUFPLFVBQVUsQ0FBQyxPQUFPLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzVHLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUMvQixDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyJ9
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHVibGljL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUscUJBQXFCLENBQUMsTUFBdUM7SUFDM0UsTUFBTSxrQkFBa0IsR0FBRztRQUN6QixHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhO1FBQzVDLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLGFBQWE7UUFDNUMsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsdUJBQXVCO1FBQ3RELEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLG1CQUFtQjtRQUNsRCxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxxQkFBcUI7UUFDcEQsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsZUFBZTtRQUM5QyxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyx3QkFBd0I7UUFDdkQsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLGFBQWE7UUFDM0IsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLGFBQWE7UUFDM0IsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLHVCQUF1QjtRQUNyQyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsbUJBQW1CO1FBQ2pDLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxxQkFBcUI7UUFDbkMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLGVBQWU7UUFDN0IsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLHdCQUF3QjtLQUN2QyxDQUFDO0lBRUYsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBQ1osS0FBSyxNQUFNLFVBQVUsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1FBQzVDLElBQUksd0JBQXdCLElBQUksVUFBVSxFQUFFLENBQUM7WUFDM0Msa0dBQWtHO1lBQ2xHLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLEVBQUUsVUFBVSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDaEgsQ0FBQzthQUFNLElBQUksU0FBUyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ25DLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUMsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFDOUMsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMifQ==
package/package.json CHANGED
@@ -1,8 +1,11 @@
1
1
  {
2
2
  "name": "@aztec/simulator",
3
- "version": "0.40.1",
3
+ "version": "0.42.0",
4
4
  "type": "module",
5
- "exports": "./dest/index.js",
5
+ "exports": {
6
+ ".": "./dest/index.js",
7
+ "./avm/fixtures": "./dest/avm/fixtures/index.js"
8
+ },
6
9
  "typedocOptions": {
7
10
  "entryPoints": [
8
11
  "./src/index.ts"
@@ -45,13 +48,13 @@
45
48
  ]
46
49
  },
47
50
  "dependencies": {
48
- "@aztec/circuit-types": "0.40.1",
49
- "@aztec/circuits.js": "0.40.1",
50
- "@aztec/foundation": "0.40.1",
51
- "@aztec/noir-protocol-circuits-types": "0.40.1",
52
- "@aztec/protocol-contracts": "0.40.1",
53
- "@aztec/types": "0.40.1",
54
- "@aztec/world-state": "0.40.1",
51
+ "@aztec/circuit-types": "0.42.0",
52
+ "@aztec/circuits.js": "0.42.0",
53
+ "@aztec/foundation": "0.42.0",
54
+ "@aztec/noir-protocol-circuits-types": "0.42.0",
55
+ "@aztec/protocol-contracts": "0.42.0",
56
+ "@aztec/types": "0.42.0",
57
+ "@aztec/world-state": "0.42.0",
55
58
  "@noir-lang/acvm_js": "portal:../../noir/packages/acvm_js",
56
59
  "@noir-lang/types": "portal:../../noir/packages/types",
57
60
  "levelup": "^5.1.1",
package/src/acvm/acvm.ts CHANGED
@@ -6,7 +6,6 @@ import {
6
6
  type ExecutionError,
7
7
  type ForeignCallInput,
8
8
  type ForeignCallOutput,
9
- type WasmBlackBoxFunctionSolver,
10
9
  executeCircuitWithReturnWitness,
11
10
  } from '@noir-lang/acvm_js';
12
11
 
@@ -85,7 +84,6 @@ export function resolveOpcodeLocations(
85
84
  * The function call that executes an ACIR.
86
85
  */
87
86
  export async function acvm(
88
- solver: WasmBlackBoxFunctionSolver,
89
87
  acir: Buffer,
90
88
  initialWitness: ACVMWitness,
91
89
  callback: ACIRCallback,
@@ -93,7 +91,6 @@ export async function acvm(
93
91
  const logger = createDebugLogger('aztec:simulator:acvm');
94
92
 
95
93
  const solvedAndReturnWitness = await executeCircuitWithReturnWitness(
96
- solver,
97
94
  acir,
98
95
  initialWitness,
99
96
  async (name: string, args: ForeignCallInput[]) => {