@aztec/simulator 0.73.0 → 0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (309) hide show
  1. package/dest/acvm/acvm.js +18 -21
  2. package/dest/acvm/acvm_types.js +3 -2
  3. package/dest/acvm/deserialize.js +9 -13
  4. package/dest/acvm/index.js +0 -1
  5. package/dest/acvm/oracle/index.js +0 -1
  6. package/dest/acvm/oracle/oracle.js +42 -23
  7. package/dest/acvm/oracle/typed_oracle.js +36 -38
  8. package/dest/acvm/serialize.js +7 -14
  9. package/dest/avm/avm_context.js +24 -27
  10. package/dest/avm/avm_contract_call_result.js +12 -7
  11. package/dest/avm/avm_execution_environment.js +10 -7
  12. package/dest/avm/avm_gas.js +93 -56
  13. package/dest/avm/avm_machine_state.js +60 -61
  14. package/dest/avm/avm_memory_types.js +166 -255
  15. package/dest/avm/avm_simulator.js +68 -47
  16. package/dest/avm/avm_tree.js +282 -276
  17. package/dest/avm/bytecode_utils.js +8 -6
  18. package/dest/avm/errors.js +46 -63
  19. package/dest/avm/fixtures/avm_simulation_tester.js +20 -20
  20. package/dest/avm/fixtures/base_avm_simulation_tester.js +21 -16
  21. package/dest/avm/fixtures/index.js +49 -22
  22. package/dest/avm/fixtures/simple_contract_data_source.js +9 -13
  23. package/dest/avm/index.js +0 -1
  24. package/dest/avm/journal/index.js +0 -1
  25. package/dest/avm/journal/journal.js +147 -200
  26. package/dest/avm/journal/nullifiers.js +43 -46
  27. package/dest/avm/journal/public_storage.js +73 -87
  28. package/dest/avm/opcodes/accrued_substate.js +140 -110
  29. package/dest/avm/opcodes/addressing_mode.js +29 -31
  30. package/dest/avm/opcodes/arithmetic.js +17 -15
  31. package/dest/avm/opcodes/bitwise.js +40 -26
  32. package/dest/avm/opcodes/comparators.js +12 -10
  33. package/dest/avm/opcodes/contract.js +31 -29
  34. package/dest/avm/opcodes/control_flow.js +47 -43
  35. package/dest/avm/opcodes/conversion.js +30 -26
  36. package/dest/avm/opcodes/ec_add.js +35 -34
  37. package/dest/avm/opcodes/environment_getters.js +33 -33
  38. package/dest/avm/opcodes/external_calls.js +83 -74
  39. package/dest/avm/opcodes/hashing.js +69 -61
  40. package/dest/avm/opcodes/index.js +0 -1
  41. package/dest/avm/opcodes/instruction.js +31 -40
  42. package/dest/avm/opcodes/instruction_impl.js +12 -15
  43. package/dest/avm/opcodes/memory.js +177 -156
  44. package/dest/avm/opcodes/misc.js +27 -25
  45. package/dest/avm/opcodes/multi_scalar_mul.js +43 -41
  46. package/dest/avm/opcodes/storage.js +28 -25
  47. package/dest/avm/serialization/buffer_cursor.js +4 -4
  48. package/dest/avm/serialization/bytecode_serialization.js +292 -89
  49. package/dest/avm/serialization/instruction_serialization.js +67 -28
  50. package/dest/avm/test_utils.js +6 -9
  51. package/dest/client/client_execution_context.js +197 -219
  52. package/dest/client/db_oracle.js +4 -7
  53. package/dest/client/execution_note_cache.js +80 -81
  54. package/dest/client/index.js +0 -1
  55. package/dest/client/pick_notes.js +27 -30
  56. package/dest/client/private_execution.js +13 -14
  57. package/dest/client/simulator.js +44 -48
  58. package/dest/client/unconstrained_execution.js +8 -11
  59. package/dest/client/view_data_oracle.js +130 -139
  60. package/dest/common/debug_fn_name.js +1 -4
  61. package/dest/common/errors.js +30 -39
  62. package/dest/common/hashed_values_cache.js +16 -20
  63. package/dest/common/index.js +0 -1
  64. package/dest/common/message_load_oracle_inputs.js +7 -7
  65. package/dest/common/simulation_provider.js +3 -6
  66. package/dest/common.js +0 -1
  67. package/dest/providers/acvm_native.js +46 -32
  68. package/dest/providers/acvm_wasm.js +18 -10
  69. package/dest/providers/acvm_wasm_with_blobs.js +2 -5
  70. package/dest/providers/factory.js +5 -5
  71. package/dest/providers/index.js +0 -1
  72. package/dest/public/bytecode_errors.js +1 -2
  73. package/dest/public/db_interfaces.js +1 -2
  74. package/dest/public/execution.js +2 -4
  75. package/dest/public/executor_metrics.js +16 -12
  76. package/dest/public/fee_payment.js +2 -5
  77. package/dest/public/fixtures/index.js +0 -1
  78. package/dest/public/fixtures/public_tx_simulation_tester.js +15 -20
  79. package/dest/public/fixtures/utils.js +11 -14
  80. package/dest/public/index.js +0 -1
  81. package/dest/public/public_db_sources.js +79 -87
  82. package/dest/public/public_processor.js +310 -306
  83. package/dest/public/public_processor_metrics.js +46 -27
  84. package/dest/public/public_tx_context.js +97 -118
  85. package/dest/public/public_tx_simulator.js +299 -314
  86. package/dest/public/side_effect_errors.js +1 -2
  87. package/dest/public/side_effect_trace.js +44 -105
  88. package/dest/public/side_effect_trace_interface.js +1 -2
  89. package/dest/public/unique_class_ids.js +22 -27
  90. package/dest/public/utils.js +16 -11
  91. package/dest/server.js +0 -1
  92. package/dest/stats/index.js +0 -1
  93. package/dest/stats/stats.js +1 -2
  94. package/dest/test/utils.js +5 -4
  95. package/package.json +11 -11
  96. package/src/acvm/oracle/typed_oracle.ts +34 -34
  97. package/src/avm/avm_machine_state.ts +18 -14
  98. package/src/avm/avm_memory_types.ts +43 -183
  99. package/src/avm/avm_simulator.ts +37 -11
  100. package/src/avm/fixtures/avm_simulation_tester.ts +2 -3
  101. package/src/avm/fixtures/index.ts +39 -0
  102. package/src/avm/opcodes/accrued_substate.ts +7 -21
  103. package/src/avm/opcodes/addressing_mode.ts +9 -2
  104. package/src/avm/opcodes/arithmetic.ts +1 -3
  105. package/src/avm/opcodes/bitwise.ts +2 -6
  106. package/src/avm/opcodes/comparators.ts +1 -3
  107. package/src/avm/opcodes/contract.ts +1 -3
  108. package/src/avm/opcodes/control_flow.ts +1 -9
  109. package/src/avm/opcodes/conversion.ts +1 -3
  110. package/src/avm/opcodes/ec_add.ts +1 -3
  111. package/src/avm/opcodes/environment_getters.ts +1 -3
  112. package/src/avm/opcodes/external_calls.ts +3 -6
  113. package/src/avm/opcodes/hashing.ts +3 -9
  114. package/src/avm/opcodes/memory.ts +6 -20
  115. package/src/avm/opcodes/misc.ts +1 -3
  116. package/src/avm/opcodes/multi_scalar_mul.ts +1 -7
  117. package/src/avm/opcodes/storage.ts +2 -6
  118. package/src/client/index.ts +2 -2
  119. package/src/public/fixtures/public_tx_simulation_tester.ts +2 -3
  120. package/src/public/side_effect_trace.ts +1 -42
  121. package/src/public/side_effect_trace_interface.ts +0 -21
  122. package/dest/acvm/acvm.d.ts +0 -35
  123. package/dest/acvm/acvm.d.ts.map +0 -1
  124. package/dest/acvm/acvm_types.d.ts +0 -10
  125. package/dest/acvm/acvm_types.d.ts.map +0 -1
  126. package/dest/acvm/deserialize.d.ts +0 -36
  127. package/dest/acvm/deserialize.d.ts.map +0 -1
  128. package/dest/acvm/index.d.ts +0 -6
  129. package/dest/acvm/index.d.ts.map +0 -1
  130. package/dest/acvm/oracle/index.d.ts +0 -14
  131. package/dest/acvm/oracle/index.d.ts.map +0 -1
  132. package/dest/acvm/oracle/oracle.d.ts +0 -49
  133. package/dest/acvm/oracle/oracle.d.ts.map +0 -1
  134. package/dest/acvm/oracle/typed_oracle.d.ts +0 -75
  135. package/dest/acvm/oracle/typed_oracle.d.ts.map +0 -1
  136. package/dest/acvm/serialize.d.ts +0 -20
  137. package/dest/acvm/serialize.d.ts.map +0 -1
  138. package/dest/avm/avm_context.d.ts +0 -39
  139. package/dest/avm/avm_context.d.ts.map +0 -1
  140. package/dest/avm/avm_contract_call_result.d.ts +0 -30
  141. package/dest/avm/avm_contract_call_result.d.ts.map +0 -1
  142. package/dest/avm/avm_execution_environment.d.ts +0 -21
  143. package/dest/avm/avm_execution_environment.d.ts.map +0 -1
  144. package/dest/avm/avm_gas.d.ts +0 -60
  145. package/dest/avm/avm_gas.d.ts.map +0 -1
  146. package/dest/avm/avm_machine_state.d.ts +0 -93
  147. package/dest/avm/avm_machine_state.d.ts.map +0 -1
  148. package/dest/avm/avm_memory_types.d.ts +0 -310
  149. package/dest/avm/avm_memory_types.d.ts.map +0 -1
  150. package/dest/avm/avm_simulator.d.ts +0 -37
  151. package/dest/avm/avm_simulator.d.ts.map +0 -1
  152. package/dest/avm/avm_tree.d.ts +0 -281
  153. package/dest/avm/avm_tree.d.ts.map +0 -1
  154. package/dest/avm/bytecode_utils.d.ts +0 -5
  155. package/dest/avm/bytecode_utils.d.ts.map +0 -1
  156. package/dest/avm/errors.d.ts +0 -121
  157. package/dest/avm/errors.d.ts.map +0 -1
  158. package/dest/avm/fixtures/avm_simulation_tester.d.ts +0 -21
  159. package/dest/avm/fixtures/avm_simulation_tester.d.ts.map +0 -1
  160. package/dest/avm/fixtures/base_avm_simulation_tester.d.ts +0 -35
  161. package/dest/avm/fixtures/base_avm_simulation_tester.d.ts.map +0 -1
  162. package/dest/avm/fixtures/index.d.ts +0 -63
  163. package/dest/avm/fixtures/index.d.ts.map +0 -1
  164. package/dest/avm/fixtures/simple_contract_data_source.d.ts +0 -31
  165. package/dest/avm/fixtures/simple_contract_data_source.d.ts.map +0 -1
  166. package/dest/avm/index.d.ts +0 -4
  167. package/dest/avm/index.d.ts.map +0 -1
  168. package/dest/avm/journal/index.d.ts +0 -2
  169. package/dest/avm/journal/index.d.ts.map +0 -1
  170. package/dest/avm/journal/journal.d.ts +0 -176
  171. package/dest/avm/journal/journal.d.ts.map +0 -1
  172. package/dest/avm/journal/nullifiers.d.ts +0 -62
  173. package/dest/avm/journal/nullifiers.d.ts.map +0 -1
  174. package/dest/avm/journal/public_storage.d.ts +0 -66
  175. package/dest/avm/journal/public_storage.d.ts.map +0 -1
  176. package/dest/avm/opcodes/accrued_substate.d.ts +0 -75
  177. package/dest/avm/opcodes/accrued_substate.d.ts.map +0 -1
  178. package/dest/avm/opcodes/addressing_mode.d.ts +0 -27
  179. package/dest/avm/opcodes/addressing_mode.d.ts.map +0 -1
  180. package/dest/avm/opcodes/arithmetic.d.ts +0 -37
  181. package/dest/avm/opcodes/arithmetic.d.ts.map +0 -1
  182. package/dest/avm/opcodes/bitwise.d.ts +0 -50
  183. package/dest/avm/opcodes/bitwise.d.ts.map +0 -1
  184. package/dest/avm/opcodes/comparators.d.ts +0 -25
  185. package/dest/avm/opcodes/comparators.d.ts.map +0 -1
  186. package/dest/avm/opcodes/contract.d.ts +0 -21
  187. package/dest/avm/opcodes/contract.d.ts.map +0 -1
  188. package/dest/avm/opcodes/control_flow.d.ts +0 -41
  189. package/dest/avm/opcodes/control_flow.d.ts.map +0 -1
  190. package/dest/avm/opcodes/conversion.d.ts +0 -17
  191. package/dest/avm/opcodes/conversion.d.ts.map +0 -1
  192. package/dest/avm/opcodes/ec_add.d.ts +0 -19
  193. package/dest/avm/opcodes/ec_add.d.ts.map +0 -1
  194. package/dest/avm/opcodes/environment_getters.d.ts +0 -28
  195. package/dest/avm/opcodes/environment_getters.d.ts.map +0 -1
  196. package/dest/avm/opcodes/external_calls.d.ts +0 -50
  197. package/dest/avm/opcodes/external_calls.d.ts.map +0 -1
  198. package/dest/avm/opcodes/hashing.d.ts +0 -36
  199. package/dest/avm/opcodes/hashing.d.ts.map +0 -1
  200. package/dest/avm/opcodes/index.d.ts +0 -16
  201. package/dest/avm/opcodes/index.d.ts.map +0 -1
  202. package/dest/avm/opcodes/instruction.d.ts +0 -70
  203. package/dest/avm/opcodes/instruction.d.ts.map +0 -1
  204. package/dest/avm/opcodes/instruction_impl.d.ts +0 -19
  205. package/dest/avm/opcodes/instruction_impl.d.ts.map +0 -1
  206. package/dest/avm/opcodes/memory.d.ts +0 -74
  207. package/dest/avm/opcodes/memory.d.ts.map +0 -1
  208. package/dest/avm/opcodes/misc.d.ts +0 -17
  209. package/dest/avm/opcodes/misc.d.ts.map +0 -1
  210. package/dest/avm/opcodes/multi_scalar_mul.d.ts +0 -16
  211. package/dest/avm/opcodes/multi_scalar_mul.d.ts.map +0 -1
  212. package/dest/avm/opcodes/storage.d.ts +0 -24
  213. package/dest/avm/opcodes/storage.d.ts.map +0 -1
  214. package/dest/avm/serialization/buffer_cursor.d.ts +0 -28
  215. package/dest/avm/serialization/buffer_cursor.d.ts.map +0 -1
  216. package/dest/avm/serialization/bytecode_serialization.d.ts +0 -21
  217. package/dest/avm/serialization/bytecode_serialization.d.ts.map +0 -1
  218. package/dest/avm/serialization/instruction_serialization.d.ts +0 -105
  219. package/dest/avm/serialization/instruction_serialization.d.ts.map +0 -1
  220. package/dest/avm/test_utils.d.ts +0 -16
  221. package/dest/avm/test_utils.d.ts.map +0 -1
  222. package/dest/client/client_execution_context.d.ts +0 -214
  223. package/dest/client/client_execution_context.d.ts.map +0 -1
  224. package/dest/client/db_oracle.d.ts +0 -229
  225. package/dest/client/db_oracle.d.ts.map +0 -1
  226. package/dest/client/execution_note_cache.d.ts +0 -93
  227. package/dest/client/execution_note_cache.d.ts.map +0 -1
  228. package/dest/client/index.d.ts +0 -15
  229. package/dest/client/index.d.ts.map +0 -1
  230. package/dest/client/pick_notes.d.ts +0 -85
  231. package/dest/client/pick_notes.d.ts.map +0 -1
  232. package/dest/client/private_execution.d.ts +0 -19
  233. package/dest/client/private_execution.d.ts.map +0 -1
  234. package/dest/client/simulator.d.ts +0 -60
  235. package/dest/client/simulator.d.ts.map +0 -1
  236. package/dest/client/unconstrained_execution.d.ts +0 -10
  237. package/dest/client/unconstrained_execution.d.ts.map +0 -1
  238. package/dest/client/view_data_oracle.d.ts +0 -159
  239. package/dest/client/view_data_oracle.d.ts.map +0 -1
  240. package/dest/common/debug_fn_name.d.ts +0 -4
  241. package/dest/common/debug_fn_name.d.ts.map +0 -1
  242. package/dest/common/errors.d.ts +0 -54
  243. package/dest/common/errors.d.ts.map +0 -1
  244. package/dest/common/hashed_values_cache.d.ts +0 -28
  245. package/dest/common/hashed_values_cache.d.ts.map +0 -1
  246. package/dest/common/index.d.ts +0 -3
  247. package/dest/common/index.d.ts.map +0 -1
  248. package/dest/common/message_load_oracle_inputs.d.ts +0 -15
  249. package/dest/common/message_load_oracle_inputs.d.ts.map +0 -1
  250. package/dest/common/simulation_provider.d.ts +0 -19
  251. package/dest/common/simulation_provider.d.ts.map +0 -1
  252. package/dest/common.d.ts +0 -2
  253. package/dest/common.d.ts.map +0 -1
  254. package/dest/providers/acvm_native.d.ts +0 -40
  255. package/dest/providers/acvm_native.d.ts.map +0 -1
  256. package/dest/providers/acvm_wasm.d.ts +0 -15
  257. package/dest/providers/acvm_wasm.d.ts.map +0 -1
  258. package/dest/providers/acvm_wasm_with_blobs.d.ts +0 -19
  259. package/dest/providers/acvm_wasm_with_blobs.d.ts.map +0 -1
  260. package/dest/providers/factory.d.ts +0 -12
  261. package/dest/providers/factory.d.ts.map +0 -1
  262. package/dest/providers/index.d.ts +0 -5
  263. package/dest/providers/index.d.ts.map +0 -1
  264. package/dest/public/bytecode_errors.d.ts +0 -4
  265. package/dest/public/bytecode_errors.d.ts.map +0 -1
  266. package/dest/public/db_interfaces.d.ts +0 -105
  267. package/dest/public/db_interfaces.d.ts.map +0 -1
  268. package/dest/public/execution.d.ts +0 -102
  269. package/dest/public/execution.d.ts.map +0 -1
  270. package/dest/public/executor_metrics.d.ts +0 -13
  271. package/dest/public/executor_metrics.d.ts.map +0 -1
  272. package/dest/public/fee_payment.d.ts +0 -11
  273. package/dest/public/fee_payment.d.ts.map +0 -1
  274. package/dest/public/fixtures/index.d.ts +0 -3
  275. package/dest/public/fixtures/index.d.ts.map +0 -1
  276. package/dest/public/fixtures/public_tx_simulation_tester.d.ts +0 -21
  277. package/dest/public/fixtures/public_tx_simulation_tester.d.ts.map +0 -1
  278. package/dest/public/fixtures/utils.d.ts +0 -17
  279. package/dest/public/fixtures/utils.d.ts.map +0 -1
  280. package/dest/public/index.d.ts +0 -9
  281. package/dest/public/index.d.ts.map +0 -1
  282. package/dest/public/public_db_sources.d.ts +0 -81
  283. package/dest/public/public_db_sources.d.ts.map +0 -1
  284. package/dest/public/public_processor.d.ts +0 -72
  285. package/dest/public/public_processor.d.ts.map +0 -1
  286. package/dest/public/public_processor_metrics.d.ts +0 -27
  287. package/dest/public/public_processor_metrics.d.ts.map +0 -1
  288. package/dest/public/public_tx_context.d.ts +0 -131
  289. package/dest/public/public_tx_context.d.ts.map +0 -1
  290. package/dest/public/public_tx_simulator.d.ts +0 -99
  291. package/dest/public/public_tx_simulator.d.ts.map +0 -1
  292. package/dest/public/side_effect_errors.d.ts +0 -4
  293. package/dest/public/side_effect_errors.d.ts.map +0 -1
  294. package/dest/public/side_effect_trace.d.ts +0 -146
  295. package/dest/public/side_effect_trace.d.ts.map +0 -1
  296. package/dest/public/side_effect_trace_interface.d.ts +0 -49
  297. package/dest/public/side_effect_trace_interface.d.ts.map +0 -1
  298. package/dest/public/unique_class_ids.d.ts +0 -37
  299. package/dest/public/unique_class_ids.d.ts.map +0 -1
  300. package/dest/public/utils.d.ts +0 -5
  301. package/dest/public/utils.d.ts.map +0 -1
  302. package/dest/server.d.ts +0 -6
  303. package/dest/server.d.ts.map +0 -1
  304. package/dest/stats/index.d.ts +0 -2
  305. package/dest/stats/index.d.ts.map +0 -1
  306. package/dest/stats/stats.d.ts +0 -4
  307. package/dest/stats/stats.d.ts.map +0 -1
  308. package/dest/test/utils.d.ts +0 -12
  309. package/dest/test/utils.d.ts.map +0 -1
@@ -32,7 +32,7 @@ export class SStore extends BaseStorageInstruction {
32
32
  throw new StaticCallAlterationError();
33
33
  }
34
34
 
35
- const memory = context.machineState.memory.track(this.type);
35
+ const memory = context.machineState.memory;
36
36
  context.machineState.consumeGas(this.gasCost());
37
37
 
38
38
  const operands = [this.aOffset, this.bOffset];
@@ -44,8 +44,6 @@ export class SStore extends BaseStorageInstruction {
44
44
  const slot = memory.get(slotOffset).toFr();
45
45
  const value = memory.get(srcOffset).toFr();
46
46
  await context.persistableState.writeStorage(context.environment.address, slot, value);
47
-
48
- memory.assert({ reads: 2, addressing });
49
47
  }
50
48
  }
51
49
 
@@ -58,7 +56,7 @@ export class SLoad extends BaseStorageInstruction {
58
56
  }
59
57
 
60
58
  public async execute(context: AvmContext): Promise<void> {
61
- const memory = context.machineState.memory.track(this.type);
59
+ const memory = context.machineState.memory;
62
60
  context.machineState.consumeGas(this.gasCost());
63
61
 
64
62
  const operands = [this.aOffset, this.bOffset];
@@ -69,7 +67,5 @@ export class SLoad extends BaseStorageInstruction {
69
67
  const slot = memory.get(slotOffset).toFr();
70
68
  const value = await context.persistableState.readStorage(context.environment.address, slot);
71
69
  memory.set(dstOffset, new Field(value));
72
-
73
- memory.assert({ writes: 1, reads: 1, addressing });
74
70
  }
75
71
  }
@@ -1,5 +1,5 @@
1
1
  export { AcirSimulator } from './simulator.js';
2
- export { DBOracle, ContractClassNotFoundError, ContractNotFoundError } from './db_oracle.js';
2
+ export { type DBOracle, ContractClassNotFoundError, ContractNotFoundError } from './db_oracle.js';
3
3
  export * from './pick_notes.js';
4
4
  export { ExecutionNoteCache } from './execution_note_cache.js';
5
5
  export { extractPrivateCircuitPublicInputs } from './private_execution.js';
@@ -7,7 +7,7 @@ export { witnessMapToFields } from '../acvm/deserialize.js';
7
7
  export { toACVMWitness } from '../acvm/serialize.js';
8
8
  export { extractCallStack } from '../acvm/acvm.js';
9
9
  export { WASMSimulator } from '../providers/acvm_wasm.js';
10
- export { NoteData, TypedOracle } from '../acvm/oracle/typed_oracle.js';
10
+ export { type NoteData, TypedOracle } from '../acvm/oracle/typed_oracle.js';
11
11
  export { Oracle } from '../acvm/oracle/oracle.js';
12
12
  export { type SimulationProvider } from '../common/simulation_provider.js';
13
13
  export { MessageLoadOracleInputs } from '../common/message_load_oracle_inputs.js';
@@ -15,9 +15,8 @@ import { type ContractArtifact, encodeArguments } from '@aztec/foundation/abi';
15
15
  import { AztecAddress } from '@aztec/foundation/aztec-address';
16
16
  import { padArrayEnd } from '@aztec/foundation/collection';
17
17
  import { Fr } from '@aztec/foundation/fields';
18
- import { openTmpStore } from '@aztec/kv-store/lmdb';
19
18
  import { AvmTestContractArtifact } from '@aztec/noir-contracts.js/AvmTest';
20
- import { MerkleTrees } from '@aztec/world-state';
19
+ import { NativeWorldStateService } from '@aztec/world-state';
21
20
 
22
21
  import { BaseAvmSimulationTester } from '../../avm/fixtures/base_avm_simulation_tester.js';
23
22
  import { getContractFunctionArtifact, getFunctionSelector } from '../../avm/fixtures/index.js';
@@ -46,7 +45,7 @@ export class PublicTxSimulationTester extends BaseAvmSimulationTester {
46
45
 
47
46
  public static async create(skipContractDeployments = false): Promise<PublicTxSimulationTester> {
48
47
  const contractDataSource = new SimpleContractDataSource();
49
- const merkleTrees = await (await MerkleTrees.new(openTmpStore())).fork();
48
+ const merkleTrees = await (await NativeWorldStateService.tmp()).fork();
50
49
  return new PublicTxSimulationTester(contractDataSource, merkleTrees, skipContractDeployments);
51
50
  }
52
51
 
@@ -13,7 +13,7 @@ import {
13
13
  type AztecAddress,
14
14
  type ContractClassIdPreimage,
15
15
  EthAddress,
16
- Gas,
16
+ type Gas,
17
17
  type GasSettings,
18
18
  type GlobalVariables,
19
19
  L1_TO_L2_MSG_TREE_HEIGHT,
@@ -53,9 +53,6 @@ import { createLogger } from '@aztec/foundation/log';
53
53
 
54
54
  import { strict as assert } from 'assert';
55
55
 
56
- import { type AvmFinalizedCallResult } from '../avm/avm_contract_call_result.js';
57
- import { type AvmExecutionEnvironment } from '../avm/avm_execution_environment.js';
58
- import { type EnqueuedPublicCallExecutionResultWithSideEffects, type PublicFunctionCallResult } from './execution.js';
59
56
  import { SideEffectLimitReachedError } from './side_effect_errors.js';
60
57
  import { type PublicSideEffectTraceInterface } from './side_effect_trace_interface.js';
61
58
  import { UniqueClassIds } from './unique_class_ids.js';
@@ -512,29 +509,6 @@ export class SideEffectTrace implements PublicSideEffectTraceInterface {
512
509
  };
513
510
  }
514
511
 
515
- /**
516
- * Get the results of public execution.
517
- */
518
- public toPublicEnqueuedCallExecutionResult(
519
- /** The call's results */
520
- avmCallResults: AvmFinalizedCallResult,
521
- ): EnqueuedPublicCallExecutionResultWithSideEffects {
522
- return {
523
- endGasLeft: Gas.from(avmCallResults.gasLeft),
524
- endSideEffectCounter: new Fr(this.sideEffectCounter),
525
- returnValues: avmCallResults.output,
526
- reverted: avmCallResults.reverted,
527
- revertReason: avmCallResults.revertReason,
528
- sideEffects: {
529
- publicDataWrites: this.publicDataWrites,
530
- noteHashes: this.noteHashes,
531
- nullifiers: this.nullifiers,
532
- l2ToL1Messages: this.l2ToL1Messages,
533
- publicLogs: this.publicLogs,
534
- },
535
- };
536
- }
537
-
538
512
  public toAvmCircuitPublicInputs(
539
513
  /** Globals. */
540
514
  globalVariables: GlobalVariables,
@@ -585,21 +559,6 @@ export class SideEffectTrace implements PublicSideEffectTraceInterface {
585
559
  );
586
560
  }
587
561
 
588
- public toPublicFunctionCallResult(
589
- /** The execution environment of the nested call. */
590
- _avmEnvironment: AvmExecutionEnvironment,
591
- /** How much gas was available for this public execution. */
592
- _startGasLeft: Gas,
593
- /** Bytecode used for this execution. */
594
- _bytecode: Buffer,
595
- /** The call's results */
596
- _avmCallResults: AvmFinalizedCallResult,
597
- /** Function name for logging */
598
- _functionName: string = 'unknown',
599
- ): PublicFunctionCallResult {
600
- throw new Error('Not implemented');
601
- }
602
-
603
562
  public getPublicLogs() {
604
563
  return this.publicLogs;
605
564
  }
@@ -1,6 +1,5 @@
1
1
  import {
2
2
  type ContractClassIdPreimage,
3
- type Gas,
4
3
  type NullifierLeafPreimage,
5
4
  type PublicCallRequest,
6
5
  type PublicDataTreeLeafPreimage,
@@ -10,10 +9,6 @@ import {
10
9
  import { type AztecAddress } from '@aztec/foundation/aztec-address';
11
10
  import { type Fr } from '@aztec/foundation/fields';
12
11
 
13
- import { type AvmFinalizedCallResult } from '../avm/avm_contract_call_result.js';
14
- import { type AvmExecutionEnvironment } from '../avm/avm_execution_environment.js';
15
- import { type EnqueuedPublicCallExecutionResultWithSideEffects, type PublicFunctionCallResult } from './execution.js';
16
-
17
12
  export interface PublicSideEffectTraceInterface {
18
13
  fork(): PublicSideEffectTraceInterface;
19
14
  merge(nestedTrace: PublicSideEffectTraceInterface, reverted?: boolean): void;
@@ -90,21 +85,5 @@ export interface PublicSideEffectTraceInterface {
90
85
  /** Did the call revert? */
91
86
  reverted: boolean,
92
87
  ): void;
93
- toPublicEnqueuedCallExecutionResult(
94
- /** The call's results */
95
- avmCallResults: AvmFinalizedCallResult,
96
- ): EnqueuedPublicCallExecutionResultWithSideEffects;
97
- toPublicFunctionCallResult(
98
- /** The execution environment of the nested call. */
99
- avmEnvironment: AvmExecutionEnvironment,
100
- /** How much gas was available for this public execution. */
101
- startGasLeft: Gas,
102
- /** Bytecode used for this execution. */
103
- bytecode: Buffer,
104
- /** The call's results */
105
- avmCallResults: AvmFinalizedCallResult,
106
- /** Function name for logging */
107
- functionName: string,
108
- ): PublicFunctionCallResult;
109
88
  getPublicLogs(): PublicLog[];
110
89
  }
@@ -1,35 +0,0 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- /// <reference types="node" resolution-mode="require"/>
3
- import { type NoirCallStack } from '@aztec/circuit-types';
4
- import type { FunctionDebugMetadata } from '@aztec/foundation/abi';
5
- import { type ExecutionError, type ForeignCallInput, type ForeignCallOutput } from '@noir-lang/acvm_js';
6
- import { type ACVMWitness } from './acvm_types.js';
7
- import { type ORACLE_NAMES } from './oracle/index.js';
8
- /**
9
- * The callback interface for the ACIR.
10
- */
11
- export type ACIRCallback = Record<ORACLE_NAMES, (...args: ForeignCallInput[]) => void | Promise<void> | ForeignCallOutput | ForeignCallOutput[] | Promise<ForeignCallOutput> | Promise<ForeignCallOutput[]>>;
12
- /**
13
- * The result of executing an ACIR.
14
- */
15
- export interface ACIRExecutionResult {
16
- /**
17
- * An execution result contains two witnesses.
18
- * 1. The partial witness of the execution.
19
- * 2. The return witness which contains the given public return values within the full witness.
20
- */
21
- partialWitness: ACVMWitness;
22
- returnWitness: ACVMWitness;
23
- }
24
- /**
25
- * The function call that executes an ACIR.
26
- */
27
- export declare function acvm(acir: Buffer, initialWitness: ACVMWitness, callback: ACIRCallback): Promise<ACIRExecutionResult>;
28
- /**
29
- * Extracts the call stack from an thrown by the acvm.
30
- * @param error - The error to extract from.
31
- * @param debug - The debug metadata of the function called.
32
- * @returns The call stack, if available.
33
- */
34
- export declare function extractCallStack(error: Error | ExecutionError, debug?: FunctionDebugMetadata): NoirCallStack | undefined;
35
- //# sourceMappingURL=acvm.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"acvm.d.ts","sourceRoot":"","sources":["../../src/acvm/acvm.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAGnE,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EAEvB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAC/B,YAAY,EACZ,CACE,GAAG,IAAI,EAAE,gBAAgB,EAAE,KAEzB,IAAI,GACJ,OAAO,CAAC,IAAI,CAAC,GACb,iBAAiB,GACjB,iBAAiB,EAAE,GACnB,OAAO,CAAC,iBAAiB,CAAC,GAC1B,OAAO,CAAC,iBAAiB,EAAE,CAAC,CACjC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,cAAc,EAAE,WAAW,CAAC;IAC5B,aAAa,EAAE,WAAW,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAsB,IAAI,CACxB,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,WAAW,EAC3B,QAAQ,EAAE,YAAY,GACrB,OAAO,CAAC,mBAAmB,CAAC,CAkD9B;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,KAAK,GAAG,cAAc,EAC7B,KAAK,CAAC,EAAE,qBAAqB,GAC5B,aAAa,GAAG,SAAS,CAc3B"}
@@ -1,10 +0,0 @@
1
- import { type WitnessMap } from '@noir-lang/acvm_js';
2
- /**
3
- * ACVMField
4
- */
5
- export type ACVMField = string;
6
- /**
7
- * The format for witnesses of the ACVM.
8
- */
9
- export type ACVMWitness = WitnessMap;
10
- //# sourceMappingURL=acvm_types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"acvm_types.d.ts","sourceRoot":"","sources":["../../src/acvm/acvm_types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAE/B;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC"}
@@ -1,36 +0,0 @@
1
- import { Fr } from '@aztec/foundation/fields';
2
- import { type ACVMField, type ACVMWitness } from './acvm_types.js';
3
- /**
4
- * Converts an ACVM field to a Fr.
5
- * @param field - The ACVM field to convert.
6
- * @returns The Fr.
7
- */
8
- export declare function fromACVMField(field: ACVMField): Fr;
9
- /**
10
- * Converts a field to a number.
11
- * @param fr - The field to convert.
12
- * @returns The number.
13
- * TODO(#4102): Nuke this once block number is big int.
14
- */
15
- export declare function frToNumber(fr: Fr): number;
16
- /**
17
- * Converts a field to a boolean.
18
- * @param fr - The field to convert.
19
- */
20
- export declare function frToBoolean(fr: Fr): boolean;
21
- /**
22
- * Converts a Noir BoundedVec of Fields into an Fr array. Note that BoundedVecs are structs, and therefore translated as
23
- * two separate ACVMField arrays.
24
- *
25
- * @param storage The array with the BoundedVec's storage (i.e. BoundedVec::storage())
26
- * @param length The length of the BoundedVec (i.e. BoundedVec::len())
27
- * @returns An array with the same content as the Noir version. Elements past the length are discarded.
28
- */
29
- export declare function fromBoundedVec(storage: ACVMField[], length: ACVMField): Fr[];
30
- /**
31
- * Transforms a witness map to its field elements.
32
- * @param witness - The witness to extract from.
33
- * @returns The return values.
34
- */
35
- export declare function witnessMapToFields(witness: ACVMWitness): Fr[];
36
- //# sourceMappingURL=deserialize.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deserialize.d.ts","sourceRoot":"","sources":["../../src/acvm/deserialize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnE;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,EAAE,CAElD;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,CAEzC;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAE3C;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,SAAS,GAAG,EAAE,EAAE,CAE5E;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,WAAW,GAAG,EAAE,EAAE,CAG7D"}
@@ -1,6 +0,0 @@
1
- export { extractCallStack, type ACIRCallback, type ACIRExecutionResult } from './acvm.js';
2
- export * from './acvm_types.js';
3
- export * from './deserialize.js';
4
- export * from './oracle/index.js';
5
- export * from './serialize.js';
6
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/acvm/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,KAAK,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAC1F,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC"}
@@ -1,14 +0,0 @@
1
- import { type Oracle } from './oracle.js';
2
- export * from './oracle.js';
3
- export * from './typed_oracle.js';
4
- /**
5
- * A conditional type that takes a type `T` and returns a union of its method names.
6
- */
7
- type MethodNames<T> = {
8
- [K in keyof T]: T[K] extends (...args: any[]) => any ? K : never;
9
- }[keyof T];
10
- /**
11
- * Available oracle function names.
12
- */
13
- export type ORACLE_NAMES = MethodNames<Oracle>;
14
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/acvm/oracle/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAElC;;GAEG;AACH,KAAK,WAAW,CAAC,CAAC,IAAI;KACnB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,GAAG,CAAC,GAAG,KAAK;CACjE,CAAC,MAAM,CAAC,CAAC,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC"}
@@ -1,49 +0,0 @@
1
- import { type ACVMField } from '../acvm_types.js';
2
- import { type TypedOracle } from './typed_oracle.js';
3
- /**
4
- * A data source that has all the apis required by Aztec.nr.
5
- */
6
- export declare class Oracle {
7
- private typedOracle;
8
- constructor(typedOracle: TypedOracle);
9
- getRandomField(): ACVMField;
10
- storeInExecutionCache(_length: ACVMField[], values: ACVMField[]): Promise<ACVMField>;
11
- loadFromExecutionCache([returnsHash]: ACVMField[]): Promise<ACVMField[]>;
12
- getBlockNumber(): Promise<ACVMField>;
13
- getContractAddress(): Promise<ACVMField>;
14
- getVersion(): Promise<ACVMField>;
15
- getChainId(): Promise<ACVMField>;
16
- getKeyValidationRequest([pkMHash]: ACVMField[]): Promise<ACVMField[]>;
17
- getContractInstance([address]: ACVMField[]): Promise<string[]>;
18
- getMembershipWitness([blockNumber]: ACVMField[], [treeId]: ACVMField[], [leafValue]: ACVMField[]): Promise<ACVMField[]>;
19
- getNullifierMembershipWitness([blockNumber]: ACVMField[], [nullifier]: ACVMField[]): Promise<ACVMField[]>;
20
- getLowNullifierMembershipWitness([blockNumber]: ACVMField[], [nullifier]: ACVMField[]): Promise<ACVMField[]>;
21
- getPublicDataTreeWitness([blockNumber]: ACVMField[], [leafSlot]: ACVMField[]): Promise<ACVMField[]>;
22
- getBlockHeader([blockNumber]: ACVMField[]): Promise<ACVMField[]>;
23
- getAuthWitness([messageHash]: ACVMField[]): Promise<ACVMField[]>;
24
- popCapsule(): Promise<ACVMField[]>;
25
- getPublicKeysAndPartialAddress([address]: ACVMField[]): Promise<ACVMField[]>;
26
- getNotes([storageSlot]: ACVMField[], [numSelects]: ACVMField[], selectByIndexes: ACVMField[], selectByOffsets: ACVMField[], selectByLengths: ACVMField[], selectValues: ACVMField[], selectComparators: ACVMField[], sortByIndexes: ACVMField[], sortByOffsets: ACVMField[], sortByLengths: ACVMField[], sortOrder: ACVMField[], [limit]: ACVMField[], [offset]: ACVMField[], [status]: ACVMField[], [returnSize]: ACVMField[]): Promise<ACVMField[]>;
27
- notifyCreatedNote([storageSlot]: ACVMField[], [noteTypeId]: ACVMField[], note: ACVMField[], [noteHash]: ACVMField[], [counter]: ACVMField[]): ACVMField;
28
- notifyNullifiedNote([innerNullifier]: ACVMField[], [noteHash]: ACVMField[], [counter]: ACVMField[]): Promise<ACVMField>;
29
- notifyCreatedNullifier([innerNullifier]: ACVMField[]): Promise<ACVMField>;
30
- checkNullifierExists([innerNullifier]: ACVMField[]): Promise<ACVMField>;
31
- getL1ToL2MembershipWitness([contractAddress]: ACVMField[], [messageHash]: ACVMField[], [secret]: ACVMField[]): Promise<ACVMField[]>;
32
- storageRead([contractAddress]: ACVMField[], [startStorageSlot]: ACVMField[], [blockNumber]: ACVMField[], [numberOfElements]: ACVMField[]): Promise<ACVMField[]>;
33
- storageWrite([startStorageSlot]: ACVMField[], values: ACVMField[]): Promise<ACVMField[]>;
34
- emitContractClassLog([contractAddress]: ACVMField[], message: ACVMField[], [counter]: ACVMField[]): ACVMField;
35
- debugLog(message: ACVMField[], _ignoredFieldsSize: ACVMField[], fields: ACVMField[]): void;
36
- callPrivateFunction([contractAddress]: ACVMField[], [functionSelector]: ACVMField[], [argsHash]: ACVMField[], [sideEffectCounter]: ACVMField[], [isStaticCall]: ACVMField[]): Promise<ACVMField[]>;
37
- enqueuePublicFunctionCall([contractAddress]: ACVMField[], [functionSelector]: ACVMField[], [argsHash]: ACVMField[], [sideEffectCounter]: ACVMField[], [isStaticCall]: ACVMField[]): Promise<ACVMField>;
38
- setPublicTeardownFunctionCall([contractAddress]: ACVMField[], [functionSelector]: ACVMField[], [argsHash]: ACVMField[], [sideEffectCounter]: ACVMField[], [isStaticCall]: ACVMField[]): Promise<ACVMField>;
39
- notifySetMinRevertibleSideEffectCounter([minRevertibleSideEffectCounter]: ACVMField[]): void;
40
- getIndexedTaggingSecretAsSender([sender]: ACVMField[], [recipient]: ACVMField[]): Promise<ACVMField[]>;
41
- incrementAppTaggingSecretIndexAsSender([sender]: ACVMField[], [recipient]: ACVMField[]): Promise<void>;
42
- syncNotes(): Promise<void>;
43
- deliverNote([contractAddress]: ACVMField[], [storageSlot]: ACVMField[], [nonce]: ACVMField[], content: ACVMField[], [contentLength]: ACVMField[], [noteHash]: ACVMField[], [nullifier]: ACVMField[], [txHash]: ACVMField[], [recipient]: ACVMField[]): Promise<ACVMField>;
44
- dbStore([contractAddress]: ACVMField[], [slot]: ACVMField[], values: ACVMField[]): Promise<void>;
45
- dbLoad([contractAddress]: ACVMField[], [slot]: ACVMField[], [tSize]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
46
- dbDelete([contractAddress]: ACVMField[], [slot]: ACVMField[]): Promise<void>;
47
- dbCopy([contractAddress]: ACVMField[], [srcSlot]: ACVMField[], [dstSlot]: ACVMField[], [numEntries]: ACVMField[]): Promise<void>;
48
- }
49
- //# sourceMappingURL=oracle.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"oracle.d.ts","sourceRoot":"","sources":["../../../src/acvm/oracle/oracle.ts"],"names":[],"mappings":"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"}
@@ -1,75 +0,0 @@
1
- import { type CompleteAddress, type MerkleTreeId, type Note, type NoteStatus, type NullifierMembershipWitness, type PublicDataWitness, type UnencryptedL2Log } from '@aztec/circuit-types';
2
- import { type BlockHeader, type ContractInstance, type IndexedTaggingSecret, type KeyValidationRequest, type L1_TO_L2_MSG_TREE_HEIGHT } from '@aztec/circuits.js';
3
- import { type FunctionSelector, type NoteSelector } from '@aztec/foundation/abi';
4
- import { type AztecAddress } from '@aztec/foundation/aztec-address';
5
- import { Fr } from '@aztec/foundation/fields';
6
- import { type MessageLoadOracleInputs } from '../../common/message_load_oracle_inputs.js';
7
- /**
8
- * Information about a note needed during execution.
9
- */
10
- export interface NoteData {
11
- /** The note. */
12
- note: Note;
13
- /** The contract address of the note. */
14
- contractAddress: AztecAddress;
15
- /** The storage slot of the note. */
16
- storageSlot: Fr;
17
- /** The nonce of the note. */
18
- nonce: Fr;
19
- /** A hash of the note. */
20
- noteHash: Fr;
21
- /** The corresponding nullifier of the note. Undefined for pending notes. */
22
- siloedNullifier?: Fr;
23
- /** The note's leaf index in the note hash tree. Undefined for pending notes. */
24
- index?: bigint;
25
- }
26
- /**
27
- * Oracle with typed parameters and typed return values.
28
- * Methods that require read and/or write will have to be implemented based on the context (public, private, or view)
29
- * and are unavailable by default.
30
- */
31
- export declare abstract class TypedOracle {
32
- getRandomField(): Fr;
33
- storeInExecutionCache(_values: Fr[]): Promise<Fr>;
34
- loadFromExecutionCache(_hash: Fr): Promise<Fr[]>;
35
- getBlockNumber(): Promise<number>;
36
- getContractAddress(): Promise<AztecAddress>;
37
- getChainId(): Promise<Fr>;
38
- getVersion(): Promise<Fr>;
39
- getKeyValidationRequest(_pkMHash: Fr): Promise<KeyValidationRequest>;
40
- getContractInstance(_address: AztecAddress): Promise<ContractInstance>;
41
- getMembershipWitness(_blockNumber: number, _treeId: MerkleTreeId, _leafValue: Fr): Promise<Fr[] | undefined>;
42
- getNullifierMembershipWitness(_blockNumber: number, _nullifier: Fr): Promise<NullifierMembershipWitness | undefined>;
43
- getPublicDataTreeWitness(_blockNumber: number, _leafSlot: Fr): Promise<PublicDataWitness | undefined>;
44
- getLowNullifierMembershipWitness(_blockNumber: number, _nullifier: Fr): Promise<NullifierMembershipWitness | undefined>;
45
- getBlockHeader(_blockNumber: number): Promise<BlockHeader | undefined>;
46
- getCompleteAddress(_account: AztecAddress): Promise<CompleteAddress>;
47
- getAuthWitness(_messageHash: Fr): Promise<Fr[] | undefined>;
48
- popCapsule(): Promise<Fr[]>;
49
- getNotes(_storageSlot: Fr, _numSelects: number, _selectByIndexes: number[], _selectByOffsets: number[], _selectByLengths: number[], _selectValues: Fr[], _selectComparators: number[], _sortByIndexes: number[], _sortByOffsets: number[], _sortByLengths: number[], _sortOrder: number[], _limit: number, _offset: number, _status: NoteStatus): Promise<NoteData[]>;
50
- notifyCreatedNote(_storageSlot: Fr, _noteTypeId: NoteSelector, _note: Fr[], _noteHash: Fr, _counter: number): void;
51
- notifyNullifiedNote(_innerNullifier: Fr, _noteHash: Fr, _counter: number): Promise<void>;
52
- notifyCreatedNullifier(_innerNullifier: Fr): Promise<void>;
53
- checkNullifierExists(_innerNullifier: Fr): Promise<boolean>;
54
- getL1ToL2MembershipWitness(_contractAddress: AztecAddress, _messageHash: Fr, _secret: Fr): Promise<MessageLoadOracleInputs<typeof L1_TO_L2_MSG_TREE_HEIGHT>>;
55
- storageRead(_contractAddress: AztecAddress, _startStorageSlot: Fr, _blockNumber: number, _numberOfElements: number): Promise<Fr[]>;
56
- storageWrite(_startStorageSlot: Fr, _values: Fr[]): Promise<Fr[]>;
57
- emitContractClassLog(_log: UnencryptedL2Log, _counter: number): Fr;
58
- callPrivateFunction(_targetContractAddress: AztecAddress, _functionSelector: FunctionSelector, _argsHash: Fr, _sideEffectCounter: number, _isStaticCall: boolean): Promise<{
59
- endSideEffectCounter: Fr;
60
- returnsHash: Fr;
61
- }>;
62
- enqueuePublicFunctionCall(_targetContractAddress: AztecAddress, _functionSelector: FunctionSelector, _argsHash: Fr, _sideEffectCounter: number, _isStaticCall: boolean): Promise<Fr>;
63
- setPublicTeardownFunctionCall(_targetContractAddress: AztecAddress, _functionSelector: FunctionSelector, _argsHash: Fr, _sideEffectCounter: number, _isStaticCall: boolean): Promise<Fr>;
64
- notifySetMinRevertibleSideEffectCounter(_minRevertibleSideEffectCounter: number): void;
65
- debugLog(_message: string, _fields: Fr[]): void;
66
- getIndexedTaggingSecretAsSender(_sender: AztecAddress, _recipient: AztecAddress): Promise<IndexedTaggingSecret>;
67
- incrementAppTaggingSecretIndexAsSender(_sender: AztecAddress, _recipient: AztecAddress): Promise<void>;
68
- syncNotes(): Promise<void>;
69
- deliverNote(_contractAddress: AztecAddress, _storageSlot: Fr, _nonce: Fr, _content: Fr[], _noteHash: Fr, _nullifier: Fr, _txHash: Fr, _recipient: AztecAddress): Promise<void>;
70
- dbStore(_contractAddress: AztecAddress, _key: Fr, _values: Fr[]): Promise<void>;
71
- dbLoad(_contractAddress: AztecAddress, _key: Fr): Promise<Fr[] | null>;
72
- dbDelete(_contractAddress: AztecAddress, _key: Fr): Promise<void>;
73
- dbCopy(_contractAddress: AztecAddress, _srcKey: Fr, _dstKey: Fr, _numEntries: number): Promise<void>;
74
- }
75
- //# sourceMappingURL=typed_oracle.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"typed_oracle.d.ts","sourceRoot":"","sources":["../../../src/acvm/oracle/typed_oracle.ts"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- /// <reference types="node" resolution-mode="require"/>
3
- import { type AztecAddress } from '@aztec/foundation/aztec-address';
4
- import { type EthAddress } from '@aztec/foundation/eth-address';
5
- import { Fr } from '@aztec/foundation/fields';
6
- import { type ACVMField } from './acvm_types.js';
7
- /**
8
- * Converts a value to an ACVM field.
9
- * @param value - The value to convert.
10
- * @returns The ACVM field.
11
- */
12
- export declare function toACVMField(value: AztecAddress | EthAddress | Fr | Buffer | boolean | number | bigint | ACVMField): ACVMField;
13
- /**
14
- * Inserts a list of ACVM fields to a witness.
15
- * @param witnessStartIndex - The index where to start inserting the fields.
16
- * @param fields - The fields to insert.
17
- * @returns The witness.
18
- */
19
- export declare function toACVMWitness(witnessStartIndex: number, fields: Parameters<typeof toACVMField>[0][]): Map<number, string>;
20
- //# sourceMappingURL=serialize.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../src/acvm/serialize.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAgBjD;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,YAAY,GAAG,UAAU,GAAG,EAAE,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GACrF,SAAS,CAYX;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,uBAKnG"}
@@ -1,39 +0,0 @@
1
- import { type AztecAddress } from '@aztec/circuits.js';
2
- import { type Fr } from '@aztec/foundation/fields';
3
- import { type AvmExecutionEnvironment } from './avm_execution_environment.js';
4
- import { type Gas } from './avm_gas.js';
5
- import { AvmMachineState } from './avm_machine_state.js';
6
- import { type AvmPersistableStateManager } from './journal/journal.js';
7
- /**
8
- * An execution context includes the information necessary to initiate AVM
9
- * execution along with all state maintained by the AVM throughout execution.
10
- */
11
- export declare class AvmContext {
12
- persistableState: AvmPersistableStateManager;
13
- environment: AvmExecutionEnvironment;
14
- machineState: AvmMachineState;
15
- /**
16
- * Create a new AVM context
17
- * @param persistableState - Manages world state and accrued substate during execution - (caching, fetching, tracing)
18
- * @param environment - Contains constant variables provided by the kernel
19
- * @param machineState - VM state that is modified on an instruction-by-instruction basis
20
- * @returns new AvmContext instance
21
- */
22
- constructor(persistableState: AvmPersistableStateManager, environment: AvmExecutionEnvironment, machineState: AvmMachineState);
23
- /**
24
- * Prepare a new AVM context that will be ready for an external/nested call
25
- * - Fork the world state journal
26
- * - Derive a machine state from the current state
27
- * - E.g., gas metering is preserved but pc is reset
28
- * - Derive an execution environment from the caller/parent
29
- * - Alter address
30
- *
31
- * @param address - The contract instance to initialize a context for
32
- * @param calldata - Data/arguments for nested call
33
- * @param allocatedGas - Gas allocated for the nested call
34
- * @param callType - Type of call (CALL or STATICCALL)
35
- * @returns new AvmContext instance
36
- */
37
- createNestedContractCallContext(address: AztecAddress, calldata: Fr[], allocatedGas: Gas, callType: 'CALL' | 'STATICCALL'): AvmContext;
38
- }
39
- //# sourceMappingURL=avm_context.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"avm_context.d.ts","sourceRoot":"","sources":["../../src/avm/avm_context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAEnD,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,KAAK,GAAG,EAAgB,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAEvE;;;GAGG;AACH,qBAAa,UAAU;IASZ,gBAAgB,EAAE,0BAA0B;IAC5C,WAAW,EAAE,uBAAuB;IACpC,YAAY,EAAE,eAAe;IAVtC;;;;;;OAMG;gBAEM,gBAAgB,EAAE,0BAA0B,EAC5C,WAAW,EAAE,uBAAuB,EACpC,YAAY,EAAE,eAAe;IAGtC;;;;;;;;;;;;;OAaG;IACI,+BAA+B,CACpC,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,EAAE,EAAE,EACd,YAAY,EAAE,GAAG,EACjB,QAAQ,EAAE,MAAM,GAAG,YAAY,GAC9B,UAAU;CAUd"}
@@ -1,30 +0,0 @@
1
- import { type SimulationError } from '@aztec/circuit-types';
2
- import { Gas } from '@aztec/circuits.js';
3
- import { type Fr } from '@aztec/foundation/fields';
4
- import { type Gas as AvmGas } from './avm_gas.js';
5
- import { type AvmRevertReason } from './errors.js';
6
- /**
7
- * Results of an contract call's execution in the AVM.
8
- */
9
- export declare class AvmContractCallResult {
10
- reverted: boolean;
11
- output: Fr[];
12
- gasLeft: AvmGas;
13
- revertReason?: AvmRevertReason | undefined;
14
- constructor(reverted: boolean, output: Fr[], gasLeft: AvmGas, revertReason?: AvmRevertReason | undefined);
15
- toString(): string;
16
- finalize(): AvmFinalizedCallResult;
17
- }
18
- /**
19
- * Similar to AvmContractCallResult, but with a SimulationError and standard Gas
20
- * which are useful for consumption external to core AVM simulation.
21
- */
22
- export declare class AvmFinalizedCallResult {
23
- reverted: boolean;
24
- output: Fr[];
25
- gasLeft: Gas;
26
- revertReason?: SimulationError | undefined;
27
- constructor(reverted: boolean, output: Fr[], gasLeft: Gas, revertReason?: SimulationError | undefined);
28
- toString(): string;
29
- }
30
- //# sourceMappingURL=avm_contract_call_result.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"avm_contract_call_result.d.ts","sourceRoot":"","sources":["../../src/avm/avm_contract_call_result.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAKnD,OAAO,EAAE,KAAK,GAAG,IAAI,MAAM,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD;;GAEG;AACH,qBAAa,qBAAqB;IAEvB,QAAQ,EAAE,OAAO;IACjB,MAAM,EAAE,EAAE,EAAE;IACZ,OAAO,EAAE,MAAM;IACf,YAAY,CAAC;gBAHb,QAAQ,EAAE,OAAO,EACjB,MAAM,EAAE,EAAE,EAAE,EACZ,OAAO,EAAE,MAAM,EACf,YAAY,CAAC,6BAAiB;IAGvC,QAAQ,IAAI,MAAM;IAQlB,QAAQ,IAAI,sBAAsB;CAInC;AAED;;;GAGG;AACH,qBAAa,sBAAsB;IAExB,QAAQ,EAAE,OAAO;IACjB,MAAM,EAAE,EAAE,EAAE;IACZ,OAAO,EAAE,GAAG;IACZ,YAAY,CAAC;gBAHb,QAAQ,EAAE,OAAO,EACjB,MAAM,EAAE,EAAE,EAAE,EACZ,OAAO,EAAE,GAAG,EACZ,YAAY,CAAC,6BAAiB;IAGvC,QAAQ,IAAI,MAAM;CAOnB"}
@@ -1,21 +0,0 @@
1
- import { type GlobalVariables } from '@aztec/circuits.js';
2
- import { type AztecAddress } from '@aztec/foundation/aztec-address';
3
- import { Fr } from '@aztec/foundation/fields';
4
- /**
5
- * Contains variables that remain constant during AVM execution
6
- * These variables are provided by the public kernel circuit
7
- */
8
- export declare class AvmExecutionEnvironment {
9
- readonly address: AztecAddress;
10
- readonly sender: AztecAddress;
11
- readonly contractCallDepth: Fr;
12
- readonly transactionFee: Fr;
13
- readonly globals: GlobalVariables;
14
- readonly isStaticCall: boolean;
15
- readonly calldata: Fr[];
16
- constructor(address: AztecAddress, sender: AztecAddress, contractCallDepth: Fr, transactionFee: Fr, globals: GlobalVariables, isStaticCall: boolean, calldata: Fr[]);
17
- private deriveEnvironmentForNestedCallInternal;
18
- deriveEnvironmentForNestedCall(targetAddress: AztecAddress, calldata: Fr[]): AvmExecutionEnvironment;
19
- deriveEnvironmentForNestedStaticCall(targetAddress: AztecAddress, calldata: Fr[]): AvmExecutionEnvironment;
20
- }
21
- //# sourceMappingURL=avm_execution_environment.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"avm_execution_environment.d.ts","sourceRoot":"","sources":["../../src/avm/avm_execution_environment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C;;;GAGG;AACH,qBAAa,uBAAuB;aAEhB,OAAO,EAAE,YAAY;aACrB,MAAM,EAAE,YAAY;aACpB,iBAAiB,EAAE,EAAE;aACrB,cAAc,EAAE,EAAE;aAClB,OAAO,EAAE,eAAe;aACxB,YAAY,EAAE,OAAO;aACrB,QAAQ,EAAE,EAAE,EAAE;gBANd,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,YAAY,EACpB,iBAAiB,EAAE,EAAE,EACrB,cAAc,EAAE,EAAE,EAClB,OAAO,EAAE,eAAe,EACxB,YAAY,EAAE,OAAO,EACrB,QAAQ,EAAE,EAAE,EAAE;IAGhC,OAAO,CAAC,sCAAsC;IAYvC,8BAA8B,CAAC,aAAa,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,uBAAuB;IAIpG,oCAAoC,CAAC,aAAa,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,uBAAuB;CAGlH"}