@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
@@ -1,60 +0,0 @@
1
- import { TypeTag } from './avm_memory_types.js';
2
- import { Opcode } from './serialization/instruction_serialization.js';
3
- /** Gas counters in L1, L2, and DA. */
4
- export type Gas = {
5
- l2Gas: number;
6
- daGas: number;
7
- };
8
- /** Maps a Gas struct to gasLeft properties. */
9
- export declare function gasToGasLeft(gas: Gas): {
10
- l2GasLeft: number;
11
- daGasLeft: number;
12
- };
13
- /** Maps gasLeft properties to a gas struct. */
14
- export declare function gasLeftToGas(gasLeft: {
15
- l2GasLeft: number;
16
- daGasLeft: number;
17
- }): {
18
- l2Gas: number;
19
- daGas: number;
20
- };
21
- /** Creates a new instance with all values set to zero except the ones set. */
22
- export declare function makeGas(gasCost: Partial<Gas>): {
23
- l2Gas: number;
24
- daGas: number;
25
- };
26
- /** Sums together multiple instances of Gas. */
27
- export declare function sumGas(...gases: Partial<Gas>[]): Gas;
28
- /** Multiplies a gas instance by a scalar. */
29
- export declare function mulGas(gas: Partial<Gas>, scalar: number): {
30
- l2Gas: number;
31
- daGas: number;
32
- };
33
- /** Zero gas across all gas dimensions. */
34
- export declare const EmptyGas: Gas;
35
- /** Dimensions of gas usage: L1, L2, and DA. */
36
- export declare const GAS_DIMENSIONS: readonly ["l2Gas", "daGas"];
37
- /** Returns the fixed base gas cost for a given opcode. */
38
- export declare function getBaseGasCost(opcode: Opcode): Gas;
39
- export declare function getDynamicGasCost(opcode: Opcode): Gas;
40
- /** Returns the gas cost associated with the memory operations performed. */
41
- export declare function getMemoryGasCost(args: {
42
- reads?: number;
43
- writes?: number;
44
- indirect?: number;
45
- }): {
46
- l2Gas: number;
47
- daGas: number;
48
- };
49
- /** Constants used in base cost calculations. */
50
- export declare const GAS_COST_CONSTANTS: {
51
- MEMORY_READ: number;
52
- MEMORY_INDIRECT_READ_PENALTY: number;
53
- MEMORY_WRITE: number;
54
- };
55
- /** Returns gas cost for an operation on a given type tag based on the base cost per byte. */
56
- export declare function getGasCostForTypeTag(tag: TypeTag, baseCost: Gas): {
57
- l2Gas: number;
58
- daGas: number;
59
- };
60
- //# sourceMappingURL=avm_gas.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"avm_gas.d.ts","sourceRoot":"","sources":["../../src/avm/avm_gas.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAGhD,OAAO,EAAE,MAAM,EAAE,MAAM,8CAA8C,CAAC;AAEtE,sCAAsC;AACtC,MAAM,MAAM,GAAG,GAAG;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,+CAA+C;AAC/C,wBAAgB,YAAY,CAAC,GAAG,EAAE,GAAG;;;EAEpC;AAED,+CAA+C;AAC/C,wBAAgB,YAAY,CAAC,OAAO,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE;;;EAE7E;AAED,8EAA8E;AAC9E,wBAAgB,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC;;;EAE5C;AAED,+CAA+C;AAC/C,wBAAgB,MAAM,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,OAQ9C;AAED,6CAA6C;AAC7C,wBAAgB,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM;;;EAEvD;AAED,0CAA0C;AAC1C,eAAO,MAAM,QAAQ,EAAE,GAGtB,CAAC;AAMF,+CAA+C;AAC/C,eAAO,MAAM,cAAc,6BAA8B,CAAC;AAwF1D,0DAA0D;AAC1D,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAElD;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAErD;AAED,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE;;;EAQ5F;AAED,gDAAgD;AAChD,eAAO,MAAM,kBAAkB;;;;CAI9B,CAAC;AAEF,6FAA6F;AAC7F,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG;;;EAE/D"}
@@ -1,93 +0,0 @@
1
- import { type Fr } from '@aztec/circuits.js';
2
- import { type Gas } from './avm_gas.js';
3
- import { TaggedMemory } from './avm_memory_types.js';
4
- import { type AvmRevertReason } from './errors.js';
5
- /**
6
- * A few fields of machine state are initialized from AVM session inputs or call instruction arguments
7
- */
8
- export type InitialAvmMachineState = {
9
- l2GasLeft: number;
10
- daGasLeft: number;
11
- };
12
- /**
13
- * Used to track the call stack and revert data of nested calls.
14
- * This is used to provide a more detailed revert reason when a contract call reverts.
15
- * It is only a heuristic and may not always provide the correct revert reason.
16
- */
17
- type TrackedRevertInfo = {
18
- revertDataRepresentative: Fr[];
19
- recursiveRevertReason: AvmRevertReason;
20
- };
21
- type CallStackEntry = {
22
- callPc: number;
23
- returnPc: number;
24
- };
25
- /**
26
- * Avm state modified on an instruction-per-instruction basis.
27
- */
28
- export declare class AvmMachineState {
29
- /** gas remaining of the gas allocated for a contract call */
30
- l2GasLeft: number;
31
- daGasLeft: number;
32
- /** program counter, byte based */
33
- pc: number;
34
- /** program counter of the next instruction, byte based */
35
- nextPc: number;
36
- /** return/revertdata of the last nested call. */
37
- nestedReturndata: Fr[];
38
- /**
39
- * Used to track the call stack and revert data of nested calls.
40
- * This is used to provide a more detailed revert reason when a contract call reverts.
41
- * It is only a heuristic and may not always provide the correct revert reason.
42
- */
43
- collectedRevertInfo: TrackedRevertInfo | undefined;
44
- /**
45
- * On INTERNALCALL, internal call stack is pushed to with the current pc and the return pc.
46
- * On INTERNALRETURN, value is popped from the internal call stack and assigned to the return pc.
47
- */
48
- internalCallStack: CallStackEntry[];
49
- /** Memory accessible to user code */
50
- readonly memory: TaggedMemory;
51
- /**
52
- * Signals that execution should end.
53
- * AvmContext execution continues executing instructions until the machine state signals "halted"
54
- */
55
- private halted;
56
- /** Signals that execution has reverted normally (this does not cover exceptional halts) */
57
- private reverted;
58
- /** Output data must NOT be modified once it is set */
59
- private output;
60
- constructor(gasLeft: Gas);
61
- constructor(l2GasLeft: number, daGasLeft: number);
62
- get gasLeft(): Gas;
63
- static fromState(state: InitialAvmMachineState): AvmMachineState;
64
- /**
65
- * Consumes the given gas.
66
- * Should any of the gas dimensions get depleted, it sets all gas left to zero and triggers
67
- * an exceptional halt by throwing an OutOfGasError.
68
- */
69
- consumeGas(gasCost: Partial<Gas>): void;
70
- /** Increases the gas left by the amounts specified. */
71
- refundGas(gasRefund: Partial<Gas>): void;
72
- /**
73
- * Halt as successful
74
- * Output data must NOT be modified once it is set
75
- * @param output
76
- */
77
- return(output: Fr[]): void;
78
- /**
79
- * Halt as reverted
80
- * Output data must NOT be modified once it is set
81
- * @param output
82
- */
83
- revert(output: Fr[]): void;
84
- getHalted(): boolean;
85
- getReverted(): boolean;
86
- getOutput(): Fr[];
87
- /**
88
- * Flag an exceptional halt. Clears gas left and sets the reverted flag. No output data.
89
- */
90
- private exceptionalHalt;
91
- }
92
- export {};
93
- //# sourceMappingURL=avm_machine_state.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"avm_machine_state.d.ts","sourceRoot":"","sources":["../../src/avm/avm_machine_state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAkB,KAAK,GAAG,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,KAAK,eAAe,EAAiB,MAAM,aAAa,CAAC;AAElE;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;GAIG;AACH,KAAK,iBAAiB,GAAG;IACvB,wBAAwB,EAAE,EAAE,EAAE,CAAC;IAC/B,qBAAqB,EAAE,eAAe,CAAC;CACxC,CAAC;AAEF,KAAK,cAAc,GAAG;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;GAEG;AACH,qBAAa,eAAe;IAC1B,6DAA6D;IACtD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IACzB,kCAAkC;IAC3B,EAAE,EAAE,MAAM,CAAK;IACtB,0DAA0D;IACnD,MAAM,EAAE,MAAM,CAAK;IAC1B,iDAAiD;IAC1C,gBAAgB,EAAE,EAAE,EAAE,CAAM;IACnC;;;;OAIG;IACI,mBAAmB,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAE1D;;;OAGG;IACI,iBAAiB,EAAE,cAAc,EAAE,CAAM;IAEhD,qCAAqC;IACrC,SAAgB,MAAM,EAAE,YAAY,CAAsB;IAE1D;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAkB;IAChC,2FAA2F;IAC3F,OAAO,CAAC,QAAQ,CAAkB;IAClC,sDAAsD;IACtD,OAAO,CAAC,MAAM,CAAY;gBAEd,OAAO,EAAE,GAAG;gBACZ,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAUhD,IAAW,OAAO,IAAI,GAAG,CAExB;WAEa,SAAS,CAAC,KAAK,EAAE,sBAAsB,GAAG,eAAe;IAIvE;;;;OAIG;IACI,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC;IAiBvC,uDAAuD;IAChD,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC;IAMxC;;;;OAIG;IACI,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE;IAK1B;;;;OAIG;IACI,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE;IAMnB,SAAS,IAAI,OAAO;IAIpB,WAAW,IAAI,OAAO;IAItB,SAAS,IAAI,EAAE,EAAE;IAIxB;;OAEG;IACH,OAAO,CAAC,eAAe;CAKxB"}
@@ -1,310 +0,0 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- /// <reference types="node" resolution-mode="require"/>
3
- import { AztecAddress } from '@aztec/foundation/aztec-address';
4
- import { Fr } from '@aztec/foundation/fields';
5
- import { type Logger } from '@aztec/foundation/log';
6
- import { type FunctionsOf } from '@aztec/foundation/types';
7
- import { Addressing } from './opcodes/addressing_mode.js';
8
- /** MemoryValue gathers the common operations for all memory types. */
9
- export declare abstract class MemoryValue {
10
- abstract add(rhs: MemoryValue): MemoryValue;
11
- abstract sub(rhs: MemoryValue): MemoryValue;
12
- abstract mul(rhs: MemoryValue): MemoryValue;
13
- abstract div(rhs: MemoryValue): MemoryValue;
14
- abstract equals(rhs: MemoryValue): boolean;
15
- abstract lt(rhs: MemoryValue): boolean;
16
- abstract build(n: bigint): MemoryValue;
17
- abstract toBigInt(): bigint;
18
- abstract toBuffer(): Buffer;
19
- toFr(): Fr;
20
- toAztecAddress(): AztecAddress;
21
- toNumber(): number;
22
- toString(): string;
23
- }
24
- /** IntegralValue gathers the common operations for all integral memory types. */
25
- export declare abstract class IntegralValue extends MemoryValue {
26
- abstract shl(rhs: IntegralValue): IntegralValue;
27
- abstract shr(rhs: IntegralValue): IntegralValue;
28
- abstract and(rhs: IntegralValue): IntegralValue;
29
- abstract or(rhs: IntegralValue): IntegralValue;
30
- abstract xor(rhs: IntegralValue): IntegralValue;
31
- abstract not(): IntegralValue;
32
- }
33
- declare const Uint1_base: {
34
- new (n: number | bigint): {
35
- readonly n: bigint;
36
- build(n: bigint): any;
37
- add(rhs: any): any;
38
- sub(rhs: any): any;
39
- mul(rhs: any): any;
40
- div(rhs: any): any;
41
- shr(rhs: any): any;
42
- shl(rhs: any): any;
43
- and(rhs: any): any;
44
- or(rhs: any): any;
45
- xor(rhs: any): any;
46
- not(): any;
47
- equals(rhs: any): boolean;
48
- lt(rhs: any): boolean;
49
- toBigInt(): bigint;
50
- toBuffer(): Buffer;
51
- toFr(): Fr;
52
- toAztecAddress(): AztecAddress;
53
- toNumber(): number;
54
- toString(): string;
55
- };
56
- readonly mod: bigint;
57
- readonly bitmask: bigint;
58
- };
59
- export declare class Uint1 extends Uint1_base {
60
- }
61
- declare const Uint8_base: {
62
- new (n: number | bigint): {
63
- readonly n: bigint;
64
- build(n: bigint): any;
65
- add(rhs: any): any;
66
- sub(rhs: any): any;
67
- mul(rhs: any): any;
68
- div(rhs: any): any;
69
- shr(rhs: any): any;
70
- shl(rhs: any): any;
71
- and(rhs: any): any;
72
- or(rhs: any): any;
73
- xor(rhs: any): any;
74
- not(): any;
75
- equals(rhs: any): boolean;
76
- lt(rhs: any): boolean;
77
- toBigInt(): bigint;
78
- toBuffer(): Buffer;
79
- toFr(): Fr;
80
- toAztecAddress(): AztecAddress;
81
- toNumber(): number;
82
- toString(): string;
83
- };
84
- readonly mod: bigint;
85
- readonly bitmask: bigint;
86
- };
87
- export declare class Uint8 extends Uint8_base {
88
- }
89
- declare const Uint16_base: {
90
- new (n: number | bigint): {
91
- readonly n: bigint;
92
- build(n: bigint): any;
93
- add(rhs: any): any;
94
- sub(rhs: any): any;
95
- mul(rhs: any): any;
96
- div(rhs: any): any;
97
- shr(rhs: any): any;
98
- shl(rhs: any): any;
99
- and(rhs: any): any;
100
- or(rhs: any): any;
101
- xor(rhs: any): any;
102
- not(): any;
103
- equals(rhs: any): boolean;
104
- lt(rhs: any): boolean;
105
- toBigInt(): bigint;
106
- toBuffer(): Buffer;
107
- toFr(): Fr;
108
- toAztecAddress(): AztecAddress;
109
- toNumber(): number;
110
- toString(): string;
111
- };
112
- readonly mod: bigint;
113
- readonly bitmask: bigint;
114
- };
115
- export declare class Uint16 extends Uint16_base {
116
- }
117
- declare const Uint32_base: {
118
- new (n: number | bigint): {
119
- readonly n: bigint;
120
- build(n: bigint): any;
121
- add(rhs: any): any;
122
- sub(rhs: any): any;
123
- mul(rhs: any): any;
124
- div(rhs: any): any;
125
- shr(rhs: any): any;
126
- shl(rhs: any): any;
127
- and(rhs: any): any;
128
- or(rhs: any): any;
129
- xor(rhs: any): any;
130
- not(): any;
131
- equals(rhs: any): boolean;
132
- lt(rhs: any): boolean;
133
- toBigInt(): bigint;
134
- toBuffer(): Buffer;
135
- toFr(): Fr;
136
- toAztecAddress(): AztecAddress;
137
- toNumber(): number;
138
- toString(): string;
139
- };
140
- readonly mod: bigint;
141
- readonly bitmask: bigint;
142
- };
143
- export declare class Uint32 extends Uint32_base {
144
- }
145
- declare const Uint64_base: {
146
- new (n: number | bigint): {
147
- readonly n: bigint;
148
- build(n: bigint): any;
149
- add(rhs: any): any;
150
- sub(rhs: any): any;
151
- mul(rhs: any): any;
152
- div(rhs: any): any;
153
- shr(rhs: any): any;
154
- shl(rhs: any): any;
155
- and(rhs: any): any;
156
- or(rhs: any): any;
157
- xor(rhs: any): any;
158
- not(): any;
159
- equals(rhs: any): boolean;
160
- lt(rhs: any): boolean;
161
- toBigInt(): bigint;
162
- toBuffer(): Buffer;
163
- toFr(): Fr;
164
- toAztecAddress(): AztecAddress;
165
- toNumber(): number;
166
- toString(): string;
167
- };
168
- readonly mod: bigint;
169
- readonly bitmask: bigint;
170
- };
171
- export declare class Uint64 extends Uint64_base {
172
- }
173
- declare const Uint128_base: {
174
- new (n: number | bigint): {
175
- readonly n: bigint;
176
- build(n: bigint): any;
177
- add(rhs: any): any;
178
- sub(rhs: any): any;
179
- mul(rhs: any): any;
180
- div(rhs: any): any;
181
- shr(rhs: any): any;
182
- shl(rhs: any): any;
183
- and(rhs: any): any;
184
- or(rhs: any): any;
185
- xor(rhs: any): any;
186
- not(): any;
187
- equals(rhs: any): boolean;
188
- lt(rhs: any): boolean;
189
- toBigInt(): bigint;
190
- toBuffer(): Buffer;
191
- toFr(): Fr;
192
- toAztecAddress(): AztecAddress;
193
- toNumber(): number;
194
- toString(): string;
195
- };
196
- readonly mod: bigint;
197
- readonly bitmask: bigint;
198
- };
199
- export declare class Uint128 extends Uint128_base {
200
- }
201
- export declare class Field extends MemoryValue {
202
- static readonly MODULUS: bigint;
203
- private readonly rep;
204
- constructor(v: number | bigint | Fr | Buffer);
205
- build(n: bigint): Field;
206
- add(rhs: Field): Field;
207
- sub(rhs: Field): Field;
208
- mul(rhs: Field): Field;
209
- div(rhs: Field): Field;
210
- fdiv(rhs: Field): Field;
211
- equals(rhs: Field): boolean;
212
- lt(rhs: Field): boolean;
213
- toBigInt(): bigint;
214
- toBuffer(): Buffer;
215
- }
216
- export declare enum TypeTag {
217
- FIELD = 0,
218
- UINT1 = 1,
219
- UINT8 = 2,
220
- UINT16 = 3,
221
- UINT32 = 4,
222
- UINT64 = 5,
223
- UINT128 = 6,
224
- INVALID = 7
225
- }
226
- export type TaggedMemoryInterface = FunctionsOf<TaggedMemory>;
227
- export declare class TaggedMemory implements TaggedMemoryInterface {
228
- static readonly log: Logger;
229
- static readonly TRACK_MEMORY_ACCESSES: boolean;
230
- static readonly MAX_MEMORY_SIZE: number;
231
- private _mem;
232
- constructor();
233
- getMaxMemorySize(): number;
234
- /** Returns a MeteredTaggedMemory instance to track the number of reads and writes if TRACK_MEMORY_ACCESSES is set. */
235
- track(type?: string): TaggedMemoryInterface;
236
- get(offset: number): MemoryValue;
237
- getAs<T>(offset: number): T;
238
- getSlice(offset: number, size: number): MemoryValue[];
239
- getSliceAs<T>(offset: number, size: number): T[];
240
- getSliceTags(offset: number, size: number): TypeTag[];
241
- set(offset: number, v: MemoryValue): void;
242
- setSlice(offset: number, slice: MemoryValue[]): void;
243
- getTag(offset: number): TypeTag;
244
- /**
245
- * Check that the memory at the given offset matches the specified tag.
246
- */
247
- checkTag(tag: TypeTag, offset: number): void;
248
- checkIsValidMemoryOffsetTag(offset: number): void;
249
- static checkIsIntegralTag(tag: TypeTag): void;
250
- static checkIsValidTag(tagNumber: number): void;
251
- /**
252
- * Check tags for memory at all of the specified offsets.
253
- */
254
- checkTags(tag: TypeTag, ...offsets: number[]): void;
255
- /**
256
- * Check that all tags at the given offsets are the same.
257
- */
258
- checkTagsAreSame(...offsets: number[]): void;
259
- /**
260
- * Check tags for all memory in the specified range.
261
- */
262
- checkTagsRange(tag: TypeTag, startOffset: number, size: number): void;
263
- static getTag(v: MemoryValue | undefined): TypeTag;
264
- static buildFromTagTruncating(v: bigint | number, tag: TypeTag): MemoryValue;
265
- /** No-op. Implemented here for compatibility with the MeteredTaggedMemory. */
266
- assert(_operations: Partial<MemoryOperations & {
267
- addressing: Addressing;
268
- }>): void;
269
- }
270
- /** Tagged memory wrapper with metering for each memory read and write operation. */
271
- export declare class MeteredTaggedMemory implements TaggedMemoryInterface {
272
- private wrapped;
273
- private type;
274
- private reads;
275
- private writes;
276
- constructor(wrapped: TaggedMemory, type?: string);
277
- /** Returns the number of reads and writes tracked so far and resets them to zero. */
278
- reset(): MemoryOperations;
279
- /**
280
- * Asserts that the exact number of memory operations have been performed.
281
- * Indirect represents the flags for indirect accesses: each bit set to one counts as an extra read.
282
- */
283
- assert(operations: Partial<MemoryOperations & {
284
- addressing: Addressing;
285
- }>): void;
286
- getMaxMemorySize(): number;
287
- track(type?: string): MeteredTaggedMemory;
288
- get(offset: number): MemoryValue;
289
- getSliceAs<T>(offset: number, size: number): T[];
290
- getAs<T>(offset: number): T;
291
- getSlice(offset: number, size: number): MemoryValue[];
292
- set(offset: number, v: MemoryValue): void;
293
- setSlice(offset: number, vs: MemoryValue[]): void;
294
- getSliceTags(offset: number, size: number): TypeTag[];
295
- getTag(offset: number): TypeTag;
296
- checkTag(tag: TypeTag, offset: number): void;
297
- checkIsValidMemoryOffsetTag(offset: number): void;
298
- checkTags(tag: TypeTag, ...offsets: number[]): void;
299
- checkTagsAreSame(...offsets: number[]): void;
300
- checkTagsRange(tag: TypeTag, startOffset: number, size: number): void;
301
- }
302
- /** Tracks number of memory reads and writes. */
303
- export type MemoryOperations = {
304
- /** How many total reads are performed. Slice reads are count as one per element. */
305
- reads: number;
306
- /** How many total writes are performed. Slice writes are count as one per element. */
307
- writes: number;
308
- };
309
- export {};
310
- //# sourceMappingURL=avm_memory_types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"avm_memory_types.d.ts","sourceRoot":"","sources":["../../src/avm/avm_memory_types.ts"],"names":[],"mappings":"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"}
@@ -1,37 +0,0 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- /// <reference types="node" resolution-mode="require"/>
3
- import { type AztecAddress, Fr, type GlobalVariables } from '@aztec/circuits.js';
4
- import { AvmContext } from './avm_context.js';
5
- import { AvmContractCallResult } from './avm_contract_call_result.js';
6
- import { type Gas } from './avm_gas.js';
7
- import { type AvmPersistableStateManager } from './journal/journal.js';
8
- import { type InstructionSet } from './serialization/bytecode_serialization.js';
9
- export declare class AvmSimulator {
10
- private context;
11
- private instructionSet;
12
- private log;
13
- private bytecode;
14
- private opcodeTallies;
15
- private tallyPrintFunction;
16
- private tallyInstructionFunction;
17
- constructor(context: AvmContext, instructionSet?: InstructionSet);
18
- static build(context: AvmContext): Promise<AvmSimulator>;
19
- static create(stateManager: AvmPersistableStateManager, address: AztecAddress, sender: AztecAddress, transactionFee: Fr, globals: GlobalVariables, isStaticCall: boolean, calldata: Fr[], allocatedGas: Gas): Promise<AvmSimulator>;
20
- /**
21
- * Fetch the bytecode and execute it in the current context.
22
- */
23
- execute(): Promise<AvmContractCallResult>;
24
- /**
25
- * Return the bytecode used for execution, if any.
26
- */
27
- getBytecode(): Buffer | undefined;
28
- /**
29
- * Executes the provided bytecode in the current context.
30
- * This method is useful for testing and debugging.
31
- */
32
- executeBytecode(bytecode: Buffer): Promise<AvmContractCallResult>;
33
- private handleFailureToRetrieveBytecode;
34
- private tallyInstruction;
35
- private printOpcodeTallies;
36
- }
37
- //# sourceMappingURL=avm_simulator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"avm_simulator.d.ts","sourceRoot":"","sources":["../../src/avm/avm_simulator.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,EAAE,EAAE,KAAK,eAAe,EAAoC,MAAM,oBAAoB,CAAC;AAMnH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,cAAc,CAAC;AAUxC,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAEL,KAAK,cAAc,EAEpB,MAAM,2CAA2C,CAAC;AAOnD,qBAAa,YAAY;IAUX,OAAO,CAAC,OAAO;IAAc,OAAO,CAAC,cAAc;IAT/D,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,aAAa,CAAuC;IAE5D,OAAO,CAAC,kBAAkB,CAAY;IACtC,OAAO,CAAC,wBAAwB,CAA+B;gBAI3C,OAAO,EAAE,UAAU,EAAU,cAAc,GAAE,cAAkC;WAe/E,KAAK,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC;WAQjD,MAAM,CACxB,YAAY,EAAE,0BAA0B,EACxC,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,YAAY,EACpB,cAAc,EAAE,EAAE,EAClB,OAAO,EAAE,eAAe,EACxB,YAAY,EAAE,OAAO,EACrB,QAAQ,EAAE,EAAE,EAAE,EACd,YAAY,EAAE,GAAG;IAiBnB;;OAEG;IACU,OAAO,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAuBtD;;OAEG;IACI,WAAW,IAAI,MAAM,GAAG,SAAS;IAIxC;;;OAGG;IACU,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;YAwFhE,+BAA+B;IAoB7C,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,kBAAkB;CAS3B"}