@aztec/simulator 0.0.0-test.0 → 0.0.1-commit.24de95ac
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.
- package/README.md +6 -0
- package/dest/client.d.ts +5 -3
- package/dest/client.d.ts.map +1 -1
- package/dest/client.js +4 -2
- package/dest/common/errors.d.ts +4 -7
- package/dest/common/errors.d.ts.map +1 -1
- package/dest/common/errors.js +51 -32
- package/dest/common/index.d.ts +0 -1
- package/dest/common/index.d.ts.map +1 -1
- package/dest/common/index.js +0 -1
- package/dest/private/acvm/acvm.d.ts +11 -5
- package/dest/private/acvm/acvm.d.ts.map +1 -1
- package/dest/private/acvm/acvm.js +10 -16
- package/dest/private/acvm/acvm_types.d.ts +1 -1
- package/dest/private/acvm/acvm_types.d.ts.map +1 -1
- package/dest/private/acvm/deserialize.d.ts +17 -18
- package/dest/private/acvm/deserialize.d.ts.map +1 -1
- package/dest/private/acvm/deserialize.js +31 -23
- package/dest/private/acvm/index.d.ts +0 -1
- package/dest/private/acvm/index.d.ts.map +1 -1
- package/dest/private/acvm/index.js +0 -1
- package/dest/private/acvm/serialize.d.ts +19 -2
- package/dest/private/acvm/serialize.d.ts.map +1 -1
- package/dest/private/acvm/serialize.js +53 -0
- package/dest/private/{providers/acvm_native.d.ts → acvm_native.d.ts} +9 -10
- package/dest/private/acvm_native.d.ts.map +1 -0
- package/dest/private/{providers/acvm_native.js → acvm_native.js} +26 -20
- package/dest/private/acvm_wasm.d.ts +15 -0
- package/dest/private/acvm_wasm.d.ts.map +1 -0
- package/dest/private/{providers/acvm_wasm.js → acvm_wasm.js} +22 -19
- package/dest/private/acvm_wasm_with_blobs.d.ts +20 -0
- package/dest/private/acvm_wasm_with_blobs.d.ts.map +1 -0
- package/dest/private/acvm_wasm_with_blobs.js +35 -0
- package/dest/private/circuit_recording/circuit_recorder.d.ts +108 -0
- package/dest/private/circuit_recording/circuit_recorder.d.ts.map +1 -0
- package/dest/private/circuit_recording/circuit_recorder.js +209 -0
- package/dest/private/circuit_recording/file_circuit_recorder.d.ts +31 -0
- package/dest/private/circuit_recording/file_circuit_recorder.d.ts.map +1 -0
- package/dest/private/circuit_recording/file_circuit_recorder.js +135 -0
- package/dest/private/circuit_recording/memory_circuit_recorder.d.ts +5 -0
- package/dest/private/circuit_recording/memory_circuit_recorder.d.ts.map +1 -0
- package/dest/private/circuit_recording/memory_circuit_recorder.js +9 -0
- package/dest/private/circuit_recording/simulator_recorder_wrapper.d.ts +21 -0
- package/dest/private/circuit_recording/simulator_recorder_wrapper.d.ts.map +1 -0
- package/dest/private/circuit_recording/simulator_recorder_wrapper.js +44 -0
- package/dest/private/circuit_simulator.d.ts +35 -0
- package/dest/private/circuit_simulator.d.ts.map +1 -0
- package/dest/private/circuit_simulator.js +43 -0
- package/dest/private/factory.d.ts +12 -0
- package/dest/private/factory.d.ts.map +1 -0
- package/dest/private/{providers/factory.js → factory.js} +2 -2
- package/dest/public/avm/avm_context.d.ts +5 -5
- package/dest/public/avm/avm_context.d.ts.map +1 -1
- package/dest/public/avm/avm_contract_call_result.d.ts +4 -2
- package/dest/public/avm/avm_contract_call_result.d.ts.map +1 -1
- package/dest/public/avm/avm_contract_call_result.js +11 -7
- package/dest/public/avm/avm_execution_environment.d.ts +3 -1
- package/dest/public/avm/avm_execution_environment.d.ts.map +1 -1
- package/dest/public/avm/avm_execution_environment.js +7 -2
- package/dest/public/avm/avm_gas.d.ts +4 -20
- package/dest/public/avm/avm_gas.d.ts.map +1 -1
- package/dest/public/avm/avm_gas.js +27 -35
- package/dest/public/avm/avm_machine_state.d.ts +2 -0
- package/dest/public/avm/avm_machine_state.d.ts.map +1 -1
- package/dest/public/avm/avm_machine_state.js +2 -0
- package/dest/public/avm/avm_memory_types.d.ts +98 -87
- package/dest/public/avm/avm_memory_types.d.ts.map +1 -1
- package/dest/public/avm/avm_memory_types.js +17 -6
- package/dest/public/avm/avm_simulator.d.ts +4 -5
- package/dest/public/avm/avm_simulator.d.ts.map +1 -1
- package/dest/public/avm/avm_simulator.js +23 -35
- package/dest/public/avm/avm_simulator_interface.d.ts +9 -0
- package/dest/public/avm/avm_simulator_interface.d.ts.map +1 -0
- package/dest/public/avm/avm_simulator_interface.js +3 -0
- package/dest/public/avm/errors.d.ts +6 -30
- package/dest/public/avm/errors.d.ts.map +1 -1
- package/dest/public/avm/errors.js +7 -57
- package/dest/public/avm/fixtures/avm_simulation_tester.d.ts +5 -4
- package/dest/public/avm/fixtures/avm_simulation_tester.d.ts.map +1 -1
- package/dest/public/avm/fixtures/avm_simulation_tester.js +12 -14
- package/dest/public/avm/fixtures/base_avm_simulation_tester.d.ts +6 -4
- package/dest/public/avm/fixtures/base_avm_simulation_tester.d.ts.map +1 -1
- package/dest/public/avm/fixtures/base_avm_simulation_tester.js +37 -14
- package/dest/public/avm/fixtures/initializers.d.ts +43 -0
- package/dest/public/avm/fixtures/initializers.d.ts.map +1 -0
- package/dest/public/avm/fixtures/initializers.js +42 -0
- package/dest/public/avm/fixtures/utils.d.ts +38 -0
- package/dest/public/avm/fixtures/utils.d.ts.map +1 -0
- package/dest/public/avm/fixtures/utils.js +95 -0
- package/dest/public/avm/index.d.ts +0 -2
- package/dest/public/avm/index.d.ts.map +1 -1
- package/dest/public/avm/index.js +0 -2
- package/dest/public/avm/opcodes/accrued_substate.d.ts +2 -2
- package/dest/public/avm/opcodes/accrued_substate.d.ts.map +1 -1
- package/dest/public/avm/opcodes/accrued_substate.js +28 -25
- package/dest/public/avm/opcodes/addressing_mode.d.ts +11 -7
- package/dest/public/avm/opcodes/addressing_mode.d.ts.map +1 -1
- package/dest/public/avm/opcodes/addressing_mode.js +46 -26
- package/dest/public/avm/opcodes/arithmetic.d.ts +11 -1
- package/dest/public/avm/opcodes/arithmetic.d.ts.map +1 -1
- package/dest/public/avm/opcodes/arithmetic.js +16 -2
- package/dest/public/avm/opcodes/bitwise.d.ts +5 -13
- package/dest/public/avm/opcodes/bitwise.d.ts.map +1 -1
- package/dest/public/avm/opcodes/bitwise.js +19 -26
- package/dest/public/avm/opcodes/comparators.d.ts.map +1 -1
- package/dest/public/avm/opcodes/comparators.js +3 -3
- package/dest/public/avm/opcodes/contract.d.ts +1 -2
- package/dest/public/avm/opcodes/contract.d.ts.map +1 -1
- package/dest/public/avm/opcodes/contract.js +9 -10
- package/dest/public/avm/opcodes/control_flow.d.ts.map +1 -1
- package/dest/public/avm/opcodes/control_flow.js +10 -8
- package/dest/public/avm/opcodes/conversion.d.ts +1 -0
- package/dest/public/avm/opcodes/conversion.d.ts.map +1 -1
- package/dest/public/avm/opcodes/conversion.js +267 -3
- package/dest/public/avm/opcodes/ec_add.d.ts.map +1 -1
- package/dest/public/avm/opcodes/ec_add.js +6 -6
- package/dest/public/avm/opcodes/environment_getters.d.ts +2 -2
- package/dest/public/avm/opcodes/environment_getters.d.ts.map +1 -1
- package/dest/public/avm/opcodes/environment_getters.js +17 -19
- package/dest/public/avm/opcodes/external_calls.d.ts +8 -7
- package/dest/public/avm/opcodes/external_calls.d.ts.map +1 -1
- package/dest/public/avm/opcodes/external_calls.js +39 -34
- package/dest/public/avm/opcodes/hashing.d.ts.map +1 -1
- package/dest/public/avm/opcodes/hashing.js +6 -6
- package/dest/public/avm/opcodes/instruction.d.ts +14 -10
- package/dest/public/avm/opcodes/instruction.d.ts.map +1 -1
- package/dest/public/avm/opcodes/instruction.js +23 -19
- package/dest/public/avm/opcodes/memory.d.ts +4 -4
- package/dest/public/avm/opcodes/memory.d.ts.map +1 -1
- package/dest/public/avm/opcodes/memory.js +37 -33
- package/dest/public/avm/opcodes/misc.d.ts +2 -1
- package/dest/public/avm/opcodes/misc.d.ts.map +1 -1
- package/dest/public/avm/opcodes/misc.js +41 -16
- package/dest/public/avm/opcodes/storage.d.ts.map +1 -1
- package/dest/public/avm/opcodes/storage.js +7 -5
- package/dest/public/avm/revert_reason.d.ts +18 -0
- package/dest/public/avm/revert_reason.d.ts.map +1 -0
- package/dest/public/avm/revert_reason.js +38 -0
- package/dest/public/avm/serialization/buffer_cursor.d.ts +0 -2
- package/dest/public/avm/serialization/buffer_cursor.d.ts.map +1 -1
- package/dest/public/avm/serialization/bytecode_serialization.d.ts +2 -6
- package/dest/public/avm/serialization/bytecode_serialization.d.ts.map +1 -1
- package/dest/public/avm/serialization/bytecode_serialization.js +70 -69
- package/dest/public/avm/serialization/instruction_serialization.d.ts +13 -4
- package/dest/public/avm/serialization/instruction_serialization.d.ts.map +1 -1
- package/dest/public/avm/serialization/instruction_serialization.js +70 -35
- package/dest/public/avm/test_utils.d.ts +10 -13
- package/dest/public/avm/test_utils.d.ts.map +1 -1
- package/dest/public/avm/test_utils.js +16 -24
- package/dest/public/db_interfaces.d.ts +56 -0
- package/dest/public/db_interfaces.d.ts.map +1 -0
- package/dest/public/db_interfaces.js +3 -0
- package/dest/public/debug_fn_name.d.ts +5 -0
- package/dest/public/debug_fn_name.d.ts.map +1 -0
- package/dest/public/debug_fn_name.js +9 -0
- package/dest/public/executor_metrics.d.ts +10 -3
- package/dest/public/executor_metrics.d.ts.map +1 -1
- package/dest/public/executor_metrics.js +37 -6
- package/dest/public/executor_metrics_interface.d.ts +9 -0
- package/dest/public/executor_metrics_interface.d.ts.map +1 -0
- package/dest/public/executor_metrics_interface.js +1 -0
- package/dest/public/fixtures/amm_test.d.ts +10 -0
- package/dest/public/fixtures/amm_test.d.ts.map +1 -0
- package/dest/public/fixtures/amm_test.js +213 -0
- package/dest/public/fixtures/bulk_test.d.ts +6 -0
- package/dest/public/fixtures/bulk_test.d.ts.map +1 -0
- package/dest/public/fixtures/bulk_test.js +326 -0
- package/dest/public/fixtures/custom_bytecode_tester.d.ts +12 -0
- package/dest/public/fixtures/custom_bytecode_tester.d.ts.map +1 -0
- package/dest/public/fixtures/custom_bytecode_tester.js +29 -0
- package/dest/public/fixtures/custom_bytecode_tests.d.ts +9 -0
- package/dest/public/fixtures/custom_bytecode_tests.d.ts.map +1 -0
- package/dest/public/fixtures/custom_bytecode_tests.js +109 -0
- package/dest/public/fixtures/index.d.ts +7 -0
- package/dest/public/fixtures/index.d.ts.map +1 -1
- package/dest/public/fixtures/index.js +7 -0
- package/dest/public/fixtures/minimal_public_tx.d.ts +10 -0
- package/dest/public/fixtures/minimal_public_tx.d.ts.map +1 -0
- package/dest/public/fixtures/minimal_public_tx.js +29 -0
- package/dest/public/fixtures/public_tx_simulation_tester.d.ts +35 -13
- package/dest/public/fixtures/public_tx_simulation_tester.d.ts.map +1 -1
- package/dest/public/fixtures/public_tx_simulation_tester.js +96 -71
- package/dest/public/{avm/fixtures → fixtures}/simple_contract_data_source.d.ts +6 -6
- package/dest/public/fixtures/simple_contract_data_source.d.ts.map +1 -0
- package/dest/public/{avm/fixtures → fixtures}/simple_contract_data_source.js +31 -10
- package/dest/public/fixtures/token_test.d.ts +8 -0
- package/dest/public/fixtures/token_test.d.ts.map +1 -0
- package/dest/public/fixtures/token_test.js +95 -0
- package/dest/public/fixtures/utils.d.ts +16 -3
- package/dest/public/fixtures/utils.d.ts.map +1 -1
- package/dest/public/fixtures/utils.js +100 -58
- package/dest/public/hinting_db_sources.d.ts +70 -0
- package/dest/public/hinting_db_sources.d.ts.map +1 -0
- package/dest/public/hinting_db_sources.js +297 -0
- package/dest/public/index.d.ts +4 -8
- package/dest/public/index.d.ts.map +1 -1
- package/dest/public/index.js +4 -7
- package/dest/public/public_db_sources.d.ts +30 -39
- package/dest/public/public_db_sources.d.ts.map +1 -1
- package/dest/public/public_db_sources.js +151 -67
- package/dest/public/public_errors.d.ts +12 -0
- package/dest/public/public_errors.d.ts.map +1 -0
- package/dest/public/public_errors.js +13 -0
- package/dest/public/public_processor/guarded_merkle_tree.d.ts +49 -0
- package/dest/public/public_processor/guarded_merkle_tree.d.ts.map +1 -0
- package/dest/public/public_processor/guarded_merkle_tree.js +108 -0
- package/dest/public/public_processor/public_processor.d.ts +25 -30
- package/dest/public/public_processor/public_processor.d.ts.map +1 -1
- package/dest/public/public_processor/public_processor.js +141 -96
- package/dest/public/public_processor/public_processor_metrics.d.ts +2 -2
- package/dest/public/public_processor/public_processor_metrics.d.ts.map +1 -1
- package/dest/public/public_processor/public_processor_metrics.js +1 -1
- package/dest/public/public_tx_simulator/cpp_public_tx_simulator.d.ts +41 -0
- package/dest/public/public_tx_simulator/cpp_public_tx_simulator.d.ts.map +1 -0
- package/dest/public/public_tx_simulator/cpp_public_tx_simulator.js +89 -0
- package/dest/public/public_tx_simulator/index.d.ts +4 -0
- package/dest/public/public_tx_simulator/index.d.ts.map +1 -0
- package/dest/public/public_tx_simulator/index.js +2 -0
- package/dest/public/public_tx_simulator/measured_public_tx_simulator.d.ts +24 -0
- package/dest/public/public_tx_simulator/measured_public_tx_simulator.d.ts.map +1 -0
- package/dest/public/public_tx_simulator/measured_public_tx_simulator.js +51 -0
- package/dest/public/public_tx_simulator/public_tx_context.d.ts +19 -29
- package/dest/public/public_tx_simulator/public_tx_context.d.ts.map +1 -1
- package/dest/public/public_tx_simulator/public_tx_context.js +63 -91
- package/dest/public/public_tx_simulator/public_tx_simulator.d.ts +45 -47
- package/dest/public/public_tx_simulator/public_tx_simulator.d.ts.map +1 -1
- package/dest/public/public_tx_simulator/public_tx_simulator.js +209 -184
- package/dest/public/public_tx_simulator/public_tx_simulator_interface.d.ts +9 -0
- package/dest/public/public_tx_simulator/public_tx_simulator_interface.d.ts.map +1 -0
- package/dest/public/public_tx_simulator/public_tx_simulator_interface.js +1 -0
- package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.d.ts +21 -0
- package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.d.ts.map +1 -0
- package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.js +39 -0
- package/dest/public/side_effect_errors.d.ts +41 -1
- package/dest/public/side_effect_errors.d.ts.map +1 -1
- package/dest/public/side_effect_errors.js +70 -1
- package/dest/public/side_effect_trace.d.ts +20 -65
- package/dest/public/side_effect_trace.d.ts.map +1 -1
- package/dest/public/side_effect_trace.js +71 -121
- package/dest/public/side_effect_trace_interface.d.ts +11 -22
- package/dest/public/side_effect_trace_interface.d.ts.map +1 -1
- package/dest/public/state_manager/index.d.ts +2 -0
- package/dest/public/state_manager/index.d.ts.map +1 -0
- package/dest/public/state_manager/index.js +1 -0
- package/dest/public/{avm/journal → state_manager}/nullifiers.d.ts +2 -5
- package/dest/public/state_manager/nullifiers.d.ts.map +1 -0
- package/dest/public/{avm/journal → state_manager}/nullifiers.js +3 -8
- package/dest/public/{avm/journal → state_manager}/public_storage.d.ts +2 -2
- package/dest/public/state_manager/public_storage.d.ts.map +1 -0
- package/dest/public/{avm/journal/journal.d.ts → state_manager/state_manager.d.ts} +42 -85
- package/dest/public/state_manager/state_manager.d.ts.map +1 -0
- package/dest/public/state_manager/state_manager.js +391 -0
- package/dest/public/test_executor_metrics.d.ts +54 -0
- package/dest/public/test_executor_metrics.d.ts.map +1 -0
- package/dest/public/test_executor_metrics.js +306 -0
- package/dest/public/unique_class_ids.d.ts.map +1 -1
- package/dest/public/utils.d.ts +2 -4
- package/dest/public/utils.d.ts.map +1 -1
- package/dest/public/utils.js +4 -21
- package/dest/server.d.ts +6 -3
- package/dest/server.d.ts.map +1 -1
- package/dest/server.js +5 -2
- package/dest/testing.d.ts +2 -0
- package/dest/testing.d.ts.map +1 -0
- package/dest/testing.js +1 -0
- package/package.json +36 -31
- package/src/client.ts +5 -3
- package/src/common/errors.ts +79 -44
- package/src/common/index.ts +0 -1
- package/src/private/acvm/acvm.ts +17 -32
- package/src/private/acvm/acvm_types.ts +1 -1
- package/src/private/acvm/deserialize.ts +35 -29
- package/src/private/acvm/index.ts +0 -1
- package/src/private/acvm/serialize.ts +63 -0
- package/src/private/{providers/acvm_native.ts → acvm_native.ts} +47 -24
- package/src/private/acvm_wasm.ts +72 -0
- package/src/private/acvm_wasm_with_blobs.ts +54 -0
- package/src/private/circuit_recording/circuit_recorder.ts +260 -0
- package/src/private/circuit_recording/file_circuit_recorder.ts +158 -0
- package/src/private/circuit_recording/memory_circuit_recorder.ts +11 -0
- package/src/private/circuit_recording/simulator_recorder_wrapper.ts +91 -0
- package/src/private/circuit_simulator.ts +90 -0
- package/src/private/{providers/factory.ts → factory.ts} +6 -6
- package/src/public/avm/avm_context.ts +4 -4
- package/src/public/avm/avm_contract_call_result.ts +17 -5
- package/src/public/avm/avm_execution_environment.ts +10 -1
- package/src/public/avm/avm_gas.ts +23 -35
- package/src/public/avm/avm_machine_state.ts +5 -0
- package/src/public/avm/avm_memory_types.ts +19 -6
- package/src/public/avm/avm_simulator.ts +44 -54
- package/src/public/avm/avm_simulator_interface.ts +8 -0
- package/src/public/avm/errors.ts +8 -77
- package/src/public/avm/fixtures/avm_simulation_tester.ts +23 -20
- package/src/public/avm/fixtures/base_avm_simulation_tester.ts +45 -12
- package/src/public/avm/fixtures/initializers.ts +104 -0
- package/src/public/avm/fixtures/utils.ts +150 -0
- package/src/public/avm/index.ts +0 -2
- package/src/public/avm/opcodes/accrued_substate.ts +64 -29
- package/src/public/avm/opcodes/addressing_mode.ts +56 -32
- package/src/public/avm/opcodes/arithmetic.ts +24 -2
- package/src/public/avm/opcodes/bitwise.ts +33 -29
- package/src/public/avm/opcodes/comparators.ts +6 -3
- package/src/public/avm/opcodes/contract.ts +10 -7
- package/src/public/avm/opcodes/control_flow.ts +19 -10
- package/src/public/avm/opcodes/conversion.ts +27 -3
- package/src/public/avm/opcodes/ec_add.ts +9 -6
- package/src/public/avm/opcodes/environment_getters.ts +27 -22
- package/src/public/avm/opcodes/external_calls.ts +61 -29
- package/src/public/avm/opcodes/hashing.ts +28 -8
- package/src/public/avm/opcodes/instruction.ts +31 -21
- package/src/public/avm/opcodes/memory.ts +71 -32
- package/src/public/avm/opcodes/misc.ts +60 -18
- package/src/public/avm/opcodes/storage.ts +22 -6
- package/src/public/avm/revert_reason.ts +55 -0
- package/src/public/avm/serialization/buffer_cursor.ts +4 -1
- package/src/public/avm/serialization/bytecode_serialization.ts +72 -74
- package/src/public/avm/serialization/instruction_serialization.ts +75 -34
- package/src/public/avm/test_utils.ts +24 -41
- package/src/public/db_interfaces.ts +61 -0
- package/src/{common → public}/debug_fn_name.ts +7 -7
- package/src/public/executor_metrics.ts +55 -6
- package/src/public/executor_metrics_interface.ts +14 -0
- package/src/public/fixtures/amm_test.ts +331 -0
- package/src/public/fixtures/bulk_test.ts +169 -0
- package/src/public/fixtures/custom_bytecode_tester.ts +49 -0
- package/src/public/fixtures/custom_bytecode_tests.ts +135 -0
- package/src/public/fixtures/index.ts +7 -0
- package/src/public/fixtures/minimal_public_tx.ts +36 -0
- package/src/public/fixtures/public_tx_simulation_tester.ts +158 -113
- package/src/public/{avm/fixtures → fixtures}/simple_contract_data_source.ts +36 -18
- package/src/public/fixtures/token_test.ts +140 -0
- package/src/public/fixtures/utils.ts +141 -68
- package/src/public/hinting_db_sources.ts +505 -0
- package/src/public/index.ts +9 -8
- package/src/public/public_db_sources.ts +196 -97
- package/src/public/public_errors.ts +14 -0
- package/src/public/public_processor/guarded_merkle_tree.ts +153 -0
- package/src/public/public_processor/public_processor.ts +191 -153
- package/src/public/public_processor/public_processor_metrics.ts +2 -2
- package/src/public/public_tx_simulator/cpp_public_tx_simulator.ts +128 -0
- package/src/public/public_tx_simulator/index.ts +3 -0
- package/src/public/public_tx_simulator/measured_public_tx_simulator.ts +109 -0
- package/src/public/public_tx_simulator/public_tx_context.ts +160 -193
- package/src/public/public_tx_simulator/public_tx_simulator.ts +294 -220
- package/src/public/public_tx_simulator/public_tx_simulator_interface.ts +11 -0
- package/src/public/public_tx_simulator/telemetry_public_tx_simulator.ts +63 -0
- package/src/public/side_effect_errors.ts +91 -1
- package/src/public/side_effect_trace.ts +94 -320
- package/src/public/side_effect_trace_interface.ts +10 -58
- package/src/public/state_manager/index.ts +1 -0
- package/src/public/{avm/journal → state_manager}/nullifiers.ts +5 -11
- package/src/public/{avm/journal → state_manager}/public_storage.ts +2 -2
- package/src/public/state_manager/state_manager.ts +560 -0
- package/src/public/test_executor_metrics.ts +395 -0
- package/src/public/utils.ts +5 -21
- package/src/server.ts +6 -3
- package/src/testing.ts +1 -0
- package/dest/common/db_interfaces.d.ts +0 -80
- package/dest/common/db_interfaces.d.ts.map +0 -1
- package/dest/common/db_interfaces.js +0 -1
- package/dest/common/debug_fn_name.d.ts +0 -5
- package/dest/common/debug_fn_name.d.ts.map +0 -1
- package/dest/common/debug_fn_name.js +0 -6
- package/dest/common/message_load_oracle_inputs.d.ts +0 -15
- package/dest/common/message_load_oracle_inputs.d.ts.map +0 -1
- package/dest/common/message_load_oracle_inputs.js +0 -15
- package/dest/private/acvm/oracle/index.d.ts +0 -14
- package/dest/private/acvm/oracle/index.d.ts.map +0 -1
- package/dest/private/acvm/oracle/index.js +0 -2
- package/dest/private/acvm/oracle/oracle.d.ts +0 -49
- package/dest/private/acvm/oracle/oracle.d.ts.map +0 -1
- package/dest/private/acvm/oracle/oracle.js +0 -263
- package/dest/private/acvm/oracle/typed_oracle.d.ts +0 -83
- package/dest/private/acvm/oracle/typed_oracle.d.ts.map +0 -1
- package/dest/private/acvm/oracle/typed_oracle.js +0 -132
- package/dest/private/execution_data_provider.d.ts +0 -261
- package/dest/private/execution_data_provider.d.ts.map +0 -1
- package/dest/private/execution_data_provider.js +0 -14
- package/dest/private/execution_note_cache.d.ts +0 -93
- package/dest/private/execution_note_cache.d.ts.map +0 -1
- package/dest/private/execution_note_cache.js +0 -180
- package/dest/private/hashed_values_cache.d.ts +0 -28
- package/dest/private/hashed_values_cache.d.ts.map +0 -1
- package/dest/private/hashed_values_cache.js +0 -46
- package/dest/private/index.d.ts +0 -13
- package/dest/private/index.d.ts.map +0 -1
- package/dest/private/index.js +0 -12
- package/dest/private/pick_notes.d.ts +0 -85
- package/dest/private/pick_notes.d.ts.map +0 -1
- package/dest/private/pick_notes.js +0 -51
- package/dest/private/private_execution.d.ts +0 -25
- package/dest/private/private_execution.d.ts.map +0 -1
- package/dest/private/private_execution.js +0 -92
- package/dest/private/private_execution_oracle.d.ts +0 -215
- package/dest/private/private_execution_oracle.d.ts.map +0 -1
- package/dest/private/private_execution_oracle.js +0 -382
- package/dest/private/providers/acvm_native.d.ts.map +0 -1
- package/dest/private/providers/acvm_wasm.d.ts +0 -15
- package/dest/private/providers/acvm_wasm.d.ts.map +0 -1
- package/dest/private/providers/acvm_wasm_with_blobs.d.ts +0 -19
- package/dest/private/providers/acvm_wasm_with_blobs.d.ts.map +0 -1
- package/dest/private/providers/acvm_wasm_with_blobs.js +0 -32
- package/dest/private/providers/factory.d.ts +0 -12
- package/dest/private/providers/factory.d.ts.map +0 -1
- package/dest/private/providers/simulation_provider.d.ts +0 -19
- package/dest/private/providers/simulation_provider.d.ts.map +0 -1
- package/dest/private/providers/simulation_provider.js +0 -24
- package/dest/private/simulator.d.ts +0 -34
- package/dest/private/simulator.d.ts.map +0 -1
- package/dest/private/simulator.js +0 -76
- package/dest/private/unconstrained_execution.d.ts +0 -10
- package/dest/private/unconstrained_execution.d.ts.map +0 -1
- package/dest/private/unconstrained_execution.js +0 -27
- package/dest/private/unconstrained_execution_oracle.d.ts +0 -161
- package/dest/private/unconstrained_execution_oracle.d.ts.map +0 -1
- package/dest/private/unconstrained_execution_oracle.js +0 -258
- package/dest/public/avm/bytecode_utils.d.ts +0 -5
- package/dest/public/avm/bytecode_utils.d.ts.map +0 -1
- package/dest/public/avm/bytecode_utils.js +0 -17
- package/dest/public/avm/fixtures/index.d.ts +0 -84
- package/dest/public/avm/fixtures/index.d.ts.map +0 -1
- package/dest/public/avm/fixtures/index.js +0 -175
- package/dest/public/avm/fixtures/simple_contract_data_source.d.ts.map +0 -1
- package/dest/public/avm/journal/index.d.ts +0 -2
- package/dest/public/avm/journal/index.d.ts.map +0 -1
- package/dest/public/avm/journal/index.js +0 -1
- package/dest/public/avm/journal/journal.d.ts.map +0 -1
- package/dest/public/avm/journal/journal.js +0 -486
- package/dest/public/avm/journal/nullifiers.d.ts.map +0 -1
- package/dest/public/avm/journal/public_storage.d.ts.map +0 -1
- package/dest/public/bytecode_errors.d.ts +0 -4
- package/dest/public/bytecode_errors.d.ts.map +0 -1
- package/dest/public/bytecode_errors.js +0 -6
- package/dest/public/execution.d.ts +0 -108
- package/dest/public/execution.d.ts.map +0 -1
- package/dest/public/execution.js +0 -9
- package/dest/test/utils.d.ts +0 -13
- package/dest/test/utils.d.ts.map +0 -1
- package/dest/test/utils.js +0 -22
- package/src/common/db_interfaces.ts +0 -94
- package/src/common/message_load_oracle_inputs.ts +0 -15
- package/src/private/acvm/oracle/index.ts +0 -16
- package/src/private/acvm/oracle/oracle.ts +0 -455
- package/src/private/acvm/oracle/typed_oracle.ts +0 -259
- package/src/private/execution_data_provider.ts +0 -323
- package/src/private/execution_note_cache.ts +0 -217
- package/src/private/hashed_values_cache.ts +0 -55
- package/src/private/index.ts +0 -16
- package/src/private/pick_notes.ts +0 -141
- package/src/private/private_execution.ts +0 -151
- package/src/private/private_execution_oracle.ts +0 -614
- package/src/private/providers/acvm_wasm.ts +0 -63
- package/src/private/providers/acvm_wasm_with_blobs.ts +0 -50
- package/src/private/providers/simulation_provider.ts +0 -45
- package/src/private/simulator.ts +0 -147
- package/src/private/unconstrained_execution.ts +0 -50
- package/src/private/unconstrained_execution_oracle.ts +0 -373
- package/src/public/avm/bytecode_utils.ts +0 -17
- package/src/public/avm/fixtures/index.ts +0 -296
- package/src/public/avm/journal/index.ts +0 -1
- package/src/public/avm/journal/journal.ts +0 -742
- package/src/public/avm/opcodes/.eslintrc.cjs +0 -8
- package/src/public/bytecode_errors.ts +0 -6
- package/src/public/execution.ts +0 -140
- package/src/test/utils.ts +0 -36
- /package/dest/public/{avm/journal → state_manager}/public_storage.js +0 -0
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import * as c from '@aztec/constants';
|
|
2
2
|
import { TypeTag } from './avm_memory_types.js';
|
|
3
3
|
import { InstructionExecutionError } from './errors.js';
|
|
4
|
-
import { Addressing, AddressingMode } from './opcodes/addressing_mode.js';
|
|
5
4
|
import { Opcode } from './serialization/instruction_serialization.js';
|
|
6
5
|
/** Maps a Gas struct to gasLeft properties. */ export function gasToGasLeft(gas) {
|
|
7
6
|
return {
|
|
@@ -96,13 +95,13 @@ function makeCost(l2Gas, daGas) {
|
|
|
96
95
|
[Opcode.MOV_8]: makeCost(c.AVM_MOV_BASE_L2_GAS, 0),
|
|
97
96
|
[Opcode.MOV_16]: makeCost(c.AVM_MOV_BASE_L2_GAS, 0),
|
|
98
97
|
[Opcode.SLOAD]: makeCost(c.AVM_SLOAD_BASE_L2_GAS, 0),
|
|
99
|
-
[Opcode.SSTORE]: makeCost(c.AVM_SSTORE_BASE_L2_GAS,
|
|
98
|
+
[Opcode.SSTORE]: makeCost(c.AVM_SSTORE_BASE_L2_GAS, 0),
|
|
100
99
|
[Opcode.NOTEHASHEXISTS]: makeCost(c.AVM_NOTEHASHEXISTS_BASE_L2_GAS, 0),
|
|
101
100
|
[Opcode.EMITNOTEHASH]: makeCost(c.AVM_EMITNOTEHASH_BASE_L2_GAS, c.AVM_EMITNOTEHASH_BASE_DA_GAS),
|
|
102
101
|
[Opcode.NULLIFIEREXISTS]: makeCost(c.AVM_NULLIFIEREXISTS_BASE_L2_GAS, 0),
|
|
103
102
|
[Opcode.EMITNULLIFIER]: makeCost(c.AVM_EMITNULLIFIER_BASE_L2_GAS, c.AVM_EMITNULLIFIER_BASE_DA_GAS),
|
|
104
103
|
[Opcode.L1TOL2MSGEXISTS]: makeCost(c.AVM_L1TOL2MSGEXISTS_BASE_L2_GAS, 0),
|
|
105
|
-
[Opcode.EMITUNENCRYPTEDLOG]: makeCost(c.AVM_EMITUNENCRYPTEDLOG_BASE_L2_GAS,
|
|
104
|
+
[Opcode.EMITUNENCRYPTEDLOG]: makeCost(c.AVM_EMITUNENCRYPTEDLOG_BASE_L2_GAS, c.AVM_EMITUNENCRYPTEDLOG_BASE_DA_GAS),
|
|
106
105
|
[Opcode.SENDL2TOL1MSG]: makeCost(c.AVM_SENDL2TOL1MSG_BASE_L2_GAS, c.AVM_SENDL2TOL1MSG_BASE_DA_GAS),
|
|
107
106
|
[Opcode.GETCONTRACTINSTANCE]: makeCost(c.AVM_GETCONTRACTINSTANCE_BASE_L2_GAS, 0),
|
|
108
107
|
[Opcode.CALL]: makeCost(c.AVM_CALL_BASE_L2_GAS, 0),
|
|
@@ -126,62 +125,55 @@ const DYNAMIC_GAS_COSTS = new Map([
|
|
|
126
125
|
Opcode.RETURNDATACOPY,
|
|
127
126
|
makeCost(c.AVM_RETURNDATACOPY_DYN_L2_GAS, 0)
|
|
128
127
|
],
|
|
128
|
+
// TODO: Call and static call based on bytecode length
|
|
129
129
|
[
|
|
130
130
|
Opcode.EMITUNENCRYPTEDLOG,
|
|
131
131
|
makeCost(c.AVM_EMITUNENCRYPTEDLOG_DYN_L2_GAS, c.AVM_EMITUNENCRYPTEDLOG_DYN_DA_GAS)
|
|
132
132
|
],
|
|
133
133
|
[
|
|
134
|
-
Opcode.
|
|
135
|
-
makeCost(c.
|
|
134
|
+
Opcode.TORADIXBE,
|
|
135
|
+
makeCost(c.AVM_TORADIXBE_DYN_L2_GAS, 0)
|
|
136
136
|
],
|
|
137
137
|
[
|
|
138
|
-
Opcode.
|
|
139
|
-
makeCost(c.
|
|
138
|
+
Opcode.AND_8,
|
|
139
|
+
makeCost(c.AVM_BITWISE_DYN_L2_GAS, 0)
|
|
140
140
|
],
|
|
141
141
|
[
|
|
142
|
-
Opcode.
|
|
143
|
-
makeCost(c.
|
|
142
|
+
Opcode.AND_16,
|
|
143
|
+
makeCost(c.AVM_BITWISE_DYN_L2_GAS, 0)
|
|
144
144
|
],
|
|
145
145
|
[
|
|
146
|
-
Opcode.
|
|
147
|
-
makeCost(c.
|
|
146
|
+
Opcode.OR_8,
|
|
147
|
+
makeCost(c.AVM_BITWISE_DYN_L2_GAS, 0)
|
|
148
148
|
],
|
|
149
149
|
[
|
|
150
|
-
Opcode.
|
|
151
|
-
makeCost(c.
|
|
150
|
+
Opcode.OR_16,
|
|
151
|
+
makeCost(c.AVM_BITWISE_DYN_L2_GAS, 0)
|
|
152
152
|
],
|
|
153
153
|
[
|
|
154
|
-
Opcode.
|
|
155
|
-
makeCost(c.
|
|
154
|
+
Opcode.XOR_8,
|
|
155
|
+
makeCost(c.AVM_BITWISE_DYN_L2_GAS, 0)
|
|
156
156
|
],
|
|
157
157
|
[
|
|
158
|
-
Opcode.
|
|
159
|
-
makeCost(c.
|
|
158
|
+
Opcode.XOR_16,
|
|
159
|
+
makeCost(c.AVM_BITWISE_DYN_L2_GAS, 0)
|
|
160
|
+
],
|
|
161
|
+
[
|
|
162
|
+
Opcode.SSTORE,
|
|
163
|
+
makeCost(0, c.AVM_SSTORE_DYN_DA_GAS)
|
|
160
164
|
]
|
|
161
165
|
]);
|
|
162
166
|
/** Returns the fixed base gas cost for a given opcode. */ export function getBaseGasCost(opcode) {
|
|
163
167
|
return BASE_GAS_COSTS[opcode];
|
|
164
168
|
}
|
|
169
|
+
export function computeAddressingCost(indirectOperandsCount, relativeOperandsCount) {
|
|
170
|
+
return makeCost((relativeOperandsCount !== 0 ? c.AVM_ADDRESSING_BASE_RESOLUTION_L2_GAS : 0) + indirectOperandsCount * c.AVM_ADDRESSING_INDIRECT_L2_GAS + relativeOperandsCount * c.AVM_ADDRESSING_RELATIVE_L2_GAS, 0);
|
|
171
|
+
}
|
|
165
172
|
export function getDynamicGasCost(opcode) {
|
|
166
173
|
return DYNAMIC_GAS_COSTS.has(opcode) ? DYNAMIC_GAS_COSTS.get(opcode) : makeCost(0, 0);
|
|
167
174
|
}
|
|
168
|
-
/** Returns
|
|
169
|
-
|
|
170
|
-
const indirectCount = Addressing.fromWire(indirect ?? 0).count(AddressingMode.INDIRECT);
|
|
171
|
-
const l2MemoryGasCost = (reads ?? 0) * GAS_COST_CONSTANTS.MEMORY_READ + (writes ?? 0) * GAS_COST_CONSTANTS.MEMORY_WRITE + indirectCount * GAS_COST_CONSTANTS.MEMORY_INDIRECT_READ_PENALTY;
|
|
172
|
-
return makeGas({
|
|
173
|
-
l2Gas: l2MemoryGasCost
|
|
174
|
-
});
|
|
175
|
-
}
|
|
176
|
-
/** Constants used in base cost calculations. */ export const GAS_COST_CONSTANTS = {
|
|
177
|
-
MEMORY_READ: 10,
|
|
178
|
-
MEMORY_INDIRECT_READ_PENALTY: 10,
|
|
179
|
-
MEMORY_WRITE: 100
|
|
180
|
-
};
|
|
181
|
-
/** Returns gas cost for an operation on a given type tag based on the base cost per byte. */ export function getGasCostForTypeTag(tag, baseCost) {
|
|
182
|
-
return mulGas(baseCost, getGasCostMultiplierFromTypeTag(tag));
|
|
183
|
-
}
|
|
184
|
-
/** Returns a multiplier based on the size of the type represented by the tag. Throws on uninitialized or invalid. */ function getGasCostMultiplierFromTypeTag(tag) {
|
|
175
|
+
/** Returns a multiplier based on the byte size of the type represented by the integer tag.
|
|
176
|
+
* Used to account for necessary rows in the bitwise trace. Throws on invalid. */ export function getBitwiseDynamicGasMultiplier(tag) {
|
|
185
177
|
switch(tag){
|
|
186
178
|
case TypeTag.UINT1:
|
|
187
179
|
return 1;
|
|
@@ -196,7 +188,7 @@ export function getDynamicGasCost(opcode) {
|
|
|
196
188
|
case TypeTag.UINT128:
|
|
197
189
|
return 16;
|
|
198
190
|
case TypeTag.FIELD:
|
|
199
|
-
return
|
|
191
|
+
return 0; // Field is not allowed for bitwise operations. However we don't fail in gas, since we'll fail in bitwise.
|
|
200
192
|
case TypeTag.INVALID:
|
|
201
193
|
throw new InstructionExecutionError(`Invalid tag type for gas cost multiplier: ${TypeTag[tag]}`);
|
|
202
194
|
}
|
|
@@ -59,6 +59,8 @@ export declare class AvmMachineState {
|
|
|
59
59
|
private reverted;
|
|
60
60
|
/** Output data must NOT be modified once it is set */
|
|
61
61
|
private output;
|
|
62
|
+
/** instruction counter, including nested calls */
|
|
63
|
+
instrCounter: number;
|
|
62
64
|
constructor(gasLeft: Gas);
|
|
63
65
|
constructor(l2GasLeft: number, daGasLeft: number);
|
|
64
66
|
get gasLeft(): Gas;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avm_machine_state.d.ts","sourceRoot":"","sources":["../../../src/public/avm/avm_machine_state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAEnD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACxC,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,2DAA2D;IACpD,iBAAiB,EAAE,OAAO,CAAS;IAC1C;;;;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;
|
|
1
|
+
{"version":3,"file":"avm_machine_state.d.ts","sourceRoot":"","sources":["../../../src/public/avm/avm_machine_state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAEnD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACxC,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,2DAA2D;IACpD,iBAAiB,EAAE,OAAO,CAAS;IAC1C;;;;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;IAG1B,kDAAkD;IAC3C,YAAY,EAAE,MAAM,CAAK;gBAGpB,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;IAqBvC,uDAAuD;IAChD,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC;IAKxC;;;;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;CAMxB"}
|
|
@@ -25,6 +25,8 @@ import { OutOfGasError } from './errors.js';
|
|
|
25
25
|
*/ halted = false;
|
|
26
26
|
/** Signals that execution has reverted normally (this does not cover exceptional halts) */ reverted = false;
|
|
27
27
|
/** Output data must NOT be modified once it is set */ output = [];
|
|
28
|
+
// Metrics only - not needed for execution
|
|
29
|
+
/** instruction counter, including nested calls */ instrCounter = 0;
|
|
28
30
|
constructor(gasLeftOrL2GasLeft, daGasLeft){
|
|
29
31
|
if (typeof gasLeftOrL2GasLeft === 'object') {
|
|
30
32
|
({ l2Gas: this.l2GasLeft, daGas: this.daGasLeft } = gasLeftOrL2GasLeft);
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
3
1
|
import { Fr } from '@aztec/foundation/fields';
|
|
4
2
|
import { type Logger } from '@aztec/foundation/log';
|
|
5
3
|
import type { FunctionsOf } from '@aztec/foundation/types';
|
|
@@ -14,6 +12,7 @@ export declare abstract class MemoryValue {
|
|
|
14
12
|
abstract lt(rhs: MemoryValue): boolean;
|
|
15
13
|
abstract build(n: bigint): MemoryValue;
|
|
16
14
|
abstract toBigInt(): bigint;
|
|
15
|
+
getTag(): TypeTag;
|
|
17
16
|
abstract toBuffer(): Buffer;
|
|
18
17
|
toFr(): Fr;
|
|
19
18
|
toAztecAddress(): AztecAddress;
|
|
@@ -30,168 +29,180 @@ export declare abstract class IntegralValue extends MemoryValue {
|
|
|
30
29
|
abstract not(): IntegralValue;
|
|
31
30
|
}
|
|
32
31
|
declare const Uint1_base: {
|
|
33
|
-
new (n:
|
|
32
|
+
new (n: bigint | number): {
|
|
34
33
|
readonly n: bigint;
|
|
35
|
-
build(n: bigint): any;
|
|
36
|
-
add(rhs: any): any;
|
|
37
|
-
sub(rhs: any): any;
|
|
38
|
-
mul(rhs: any): any;
|
|
39
|
-
div(rhs: any): any;
|
|
40
|
-
shr(rhs: any): any;
|
|
41
|
-
shl(rhs: any): any;
|
|
42
|
-
and(rhs: any): any;
|
|
43
|
-
or(rhs: any): any;
|
|
44
|
-
xor(rhs: any): any;
|
|
45
|
-
not(): any;
|
|
46
|
-
equals(rhs: any): boolean;
|
|
47
|
-
lt(rhs: any): boolean;
|
|
34
|
+
build(n: bigint): /*elided*/ any;
|
|
35
|
+
add(rhs: /*elided*/ any): /*elided*/ any;
|
|
36
|
+
sub(rhs: /*elided*/ any): /*elided*/ any;
|
|
37
|
+
mul(rhs: /*elided*/ any): /*elided*/ any;
|
|
38
|
+
div(rhs: /*elided*/ any): /*elided*/ any;
|
|
39
|
+
shr(rhs: /*elided*/ any): /*elided*/ any;
|
|
40
|
+
shl(rhs: /*elided*/ any): /*elided*/ any;
|
|
41
|
+
and(rhs: /*elided*/ any): /*elided*/ any;
|
|
42
|
+
or(rhs: /*elided*/ any): /*elided*/ any;
|
|
43
|
+
xor(rhs: /*elided*/ any): /*elided*/ any;
|
|
44
|
+
not(): /*elided*/ any;
|
|
45
|
+
equals(rhs: /*elided*/ any): boolean;
|
|
46
|
+
lt(rhs: /*elided*/ any): boolean;
|
|
48
47
|
toBigInt(): bigint;
|
|
49
48
|
toBuffer(): Buffer;
|
|
49
|
+
getTag(): TypeTag;
|
|
50
50
|
toFr(): Fr;
|
|
51
51
|
toAztecAddress(): AztecAddress;
|
|
52
52
|
toNumber(): number;
|
|
53
53
|
toString(): string;
|
|
54
54
|
};
|
|
55
|
+
readonly bits: number;
|
|
55
56
|
readonly mod: bigint;
|
|
56
57
|
readonly bitmask: bigint;
|
|
57
58
|
};
|
|
58
59
|
export declare class Uint1 extends Uint1_base {
|
|
59
60
|
}
|
|
60
61
|
declare const Uint8_base: {
|
|
61
|
-
new (n:
|
|
62
|
+
new (n: bigint | number): {
|
|
62
63
|
readonly n: bigint;
|
|
63
|
-
build(n: bigint): any;
|
|
64
|
-
add(rhs: any): any;
|
|
65
|
-
sub(rhs: any): any;
|
|
66
|
-
mul(rhs: any): any;
|
|
67
|
-
div(rhs: any): any;
|
|
68
|
-
shr(rhs: any): any;
|
|
69
|
-
shl(rhs: any): any;
|
|
70
|
-
and(rhs: any): any;
|
|
71
|
-
or(rhs: any): any;
|
|
72
|
-
xor(rhs: any): any;
|
|
73
|
-
not(): any;
|
|
74
|
-
equals(rhs: any): boolean;
|
|
75
|
-
lt(rhs: any): boolean;
|
|
64
|
+
build(n: bigint): /*elided*/ any;
|
|
65
|
+
add(rhs: /*elided*/ any): /*elided*/ any;
|
|
66
|
+
sub(rhs: /*elided*/ any): /*elided*/ any;
|
|
67
|
+
mul(rhs: /*elided*/ any): /*elided*/ any;
|
|
68
|
+
div(rhs: /*elided*/ any): /*elided*/ any;
|
|
69
|
+
shr(rhs: /*elided*/ any): /*elided*/ any;
|
|
70
|
+
shl(rhs: /*elided*/ any): /*elided*/ any;
|
|
71
|
+
and(rhs: /*elided*/ any): /*elided*/ any;
|
|
72
|
+
or(rhs: /*elided*/ any): /*elided*/ any;
|
|
73
|
+
xor(rhs: /*elided*/ any): /*elided*/ any;
|
|
74
|
+
not(): /*elided*/ any;
|
|
75
|
+
equals(rhs: /*elided*/ any): boolean;
|
|
76
|
+
lt(rhs: /*elided*/ any): boolean;
|
|
76
77
|
toBigInt(): bigint;
|
|
77
78
|
toBuffer(): Buffer;
|
|
79
|
+
getTag(): TypeTag;
|
|
78
80
|
toFr(): Fr;
|
|
79
81
|
toAztecAddress(): AztecAddress;
|
|
80
82
|
toNumber(): number;
|
|
81
83
|
toString(): string;
|
|
82
84
|
};
|
|
85
|
+
readonly bits: number;
|
|
83
86
|
readonly mod: bigint;
|
|
84
87
|
readonly bitmask: bigint;
|
|
85
88
|
};
|
|
86
89
|
export declare class Uint8 extends Uint8_base {
|
|
87
90
|
}
|
|
88
91
|
declare const Uint16_base: {
|
|
89
|
-
new (n:
|
|
92
|
+
new (n: bigint | number): {
|
|
90
93
|
readonly n: bigint;
|
|
91
|
-
build(n: bigint): any;
|
|
92
|
-
add(rhs: any): any;
|
|
93
|
-
sub(rhs: any): any;
|
|
94
|
-
mul(rhs: any): any;
|
|
95
|
-
div(rhs: any): any;
|
|
96
|
-
shr(rhs: any): any;
|
|
97
|
-
shl(rhs: any): any;
|
|
98
|
-
and(rhs: any): any;
|
|
99
|
-
or(rhs: any): any;
|
|
100
|
-
xor(rhs: any): any;
|
|
101
|
-
not(): any;
|
|
102
|
-
equals(rhs: any): boolean;
|
|
103
|
-
lt(rhs: any): boolean;
|
|
94
|
+
build(n: bigint): /*elided*/ any;
|
|
95
|
+
add(rhs: /*elided*/ any): /*elided*/ any;
|
|
96
|
+
sub(rhs: /*elided*/ any): /*elided*/ any;
|
|
97
|
+
mul(rhs: /*elided*/ any): /*elided*/ any;
|
|
98
|
+
div(rhs: /*elided*/ any): /*elided*/ any;
|
|
99
|
+
shr(rhs: /*elided*/ any): /*elided*/ any;
|
|
100
|
+
shl(rhs: /*elided*/ any): /*elided*/ any;
|
|
101
|
+
and(rhs: /*elided*/ any): /*elided*/ any;
|
|
102
|
+
or(rhs: /*elided*/ any): /*elided*/ any;
|
|
103
|
+
xor(rhs: /*elided*/ any): /*elided*/ any;
|
|
104
|
+
not(): /*elided*/ any;
|
|
105
|
+
equals(rhs: /*elided*/ any): boolean;
|
|
106
|
+
lt(rhs: /*elided*/ any): boolean;
|
|
104
107
|
toBigInt(): bigint;
|
|
105
108
|
toBuffer(): Buffer;
|
|
109
|
+
getTag(): TypeTag;
|
|
106
110
|
toFr(): Fr;
|
|
107
111
|
toAztecAddress(): AztecAddress;
|
|
108
112
|
toNumber(): number;
|
|
109
113
|
toString(): string;
|
|
110
114
|
};
|
|
115
|
+
readonly bits: number;
|
|
111
116
|
readonly mod: bigint;
|
|
112
117
|
readonly bitmask: bigint;
|
|
113
118
|
};
|
|
114
119
|
export declare class Uint16 extends Uint16_base {
|
|
115
120
|
}
|
|
116
121
|
declare const Uint32_base: {
|
|
117
|
-
new (n:
|
|
122
|
+
new (n: bigint | number): {
|
|
118
123
|
readonly n: bigint;
|
|
119
|
-
build(n: bigint): any;
|
|
120
|
-
add(rhs: any): any;
|
|
121
|
-
sub(rhs: any): any;
|
|
122
|
-
mul(rhs: any): any;
|
|
123
|
-
div(rhs: any): any;
|
|
124
|
-
shr(rhs: any): any;
|
|
125
|
-
shl(rhs: any): any;
|
|
126
|
-
and(rhs: any): any;
|
|
127
|
-
or(rhs: any): any;
|
|
128
|
-
xor(rhs: any): any;
|
|
129
|
-
not(): any;
|
|
130
|
-
equals(rhs: any): boolean;
|
|
131
|
-
lt(rhs: any): boolean;
|
|
124
|
+
build(n: bigint): /*elided*/ any;
|
|
125
|
+
add(rhs: /*elided*/ any): /*elided*/ any;
|
|
126
|
+
sub(rhs: /*elided*/ any): /*elided*/ any;
|
|
127
|
+
mul(rhs: /*elided*/ any): /*elided*/ any;
|
|
128
|
+
div(rhs: /*elided*/ any): /*elided*/ any;
|
|
129
|
+
shr(rhs: /*elided*/ any): /*elided*/ any;
|
|
130
|
+
shl(rhs: /*elided*/ any): /*elided*/ any;
|
|
131
|
+
and(rhs: /*elided*/ any): /*elided*/ any;
|
|
132
|
+
or(rhs: /*elided*/ any): /*elided*/ any;
|
|
133
|
+
xor(rhs: /*elided*/ any): /*elided*/ any;
|
|
134
|
+
not(): /*elided*/ any;
|
|
135
|
+
equals(rhs: /*elided*/ any): boolean;
|
|
136
|
+
lt(rhs: /*elided*/ any): boolean;
|
|
132
137
|
toBigInt(): bigint;
|
|
133
138
|
toBuffer(): Buffer;
|
|
139
|
+
getTag(): TypeTag;
|
|
134
140
|
toFr(): Fr;
|
|
135
141
|
toAztecAddress(): AztecAddress;
|
|
136
142
|
toNumber(): number;
|
|
137
143
|
toString(): string;
|
|
138
144
|
};
|
|
145
|
+
readonly bits: number;
|
|
139
146
|
readonly mod: bigint;
|
|
140
147
|
readonly bitmask: bigint;
|
|
141
148
|
};
|
|
142
149
|
export declare class Uint32 extends Uint32_base {
|
|
143
150
|
}
|
|
144
151
|
declare const Uint64_base: {
|
|
145
|
-
new (n:
|
|
152
|
+
new (n: bigint | number): {
|
|
146
153
|
readonly n: bigint;
|
|
147
|
-
build(n: bigint): any;
|
|
148
|
-
add(rhs: any): any;
|
|
149
|
-
sub(rhs: any): any;
|
|
150
|
-
mul(rhs: any): any;
|
|
151
|
-
div(rhs: any): any;
|
|
152
|
-
shr(rhs: any): any;
|
|
153
|
-
shl(rhs: any): any;
|
|
154
|
-
and(rhs: any): any;
|
|
155
|
-
or(rhs: any): any;
|
|
156
|
-
xor(rhs: any): any;
|
|
157
|
-
not(): any;
|
|
158
|
-
equals(rhs: any): boolean;
|
|
159
|
-
lt(rhs: any): boolean;
|
|
154
|
+
build(n: bigint): /*elided*/ any;
|
|
155
|
+
add(rhs: /*elided*/ any): /*elided*/ any;
|
|
156
|
+
sub(rhs: /*elided*/ any): /*elided*/ any;
|
|
157
|
+
mul(rhs: /*elided*/ any): /*elided*/ any;
|
|
158
|
+
div(rhs: /*elided*/ any): /*elided*/ any;
|
|
159
|
+
shr(rhs: /*elided*/ any): /*elided*/ any;
|
|
160
|
+
shl(rhs: /*elided*/ any): /*elided*/ any;
|
|
161
|
+
and(rhs: /*elided*/ any): /*elided*/ any;
|
|
162
|
+
or(rhs: /*elided*/ any): /*elided*/ any;
|
|
163
|
+
xor(rhs: /*elided*/ any): /*elided*/ any;
|
|
164
|
+
not(): /*elided*/ any;
|
|
165
|
+
equals(rhs: /*elided*/ any): boolean;
|
|
166
|
+
lt(rhs: /*elided*/ any): boolean;
|
|
160
167
|
toBigInt(): bigint;
|
|
161
168
|
toBuffer(): Buffer;
|
|
169
|
+
getTag(): TypeTag;
|
|
162
170
|
toFr(): Fr;
|
|
163
171
|
toAztecAddress(): AztecAddress;
|
|
164
172
|
toNumber(): number;
|
|
165
173
|
toString(): string;
|
|
166
174
|
};
|
|
175
|
+
readonly bits: number;
|
|
167
176
|
readonly mod: bigint;
|
|
168
177
|
readonly bitmask: bigint;
|
|
169
178
|
};
|
|
170
179
|
export declare class Uint64 extends Uint64_base {
|
|
171
180
|
}
|
|
172
181
|
declare const Uint128_base: {
|
|
173
|
-
new (n:
|
|
182
|
+
new (n: bigint | number): {
|
|
174
183
|
readonly n: bigint;
|
|
175
|
-
build(n: bigint): any;
|
|
176
|
-
add(rhs: any): any;
|
|
177
|
-
sub(rhs: any): any;
|
|
178
|
-
mul(rhs: any): any;
|
|
179
|
-
div(rhs: any): any;
|
|
180
|
-
shr(rhs: any): any;
|
|
181
|
-
shl(rhs: any): any;
|
|
182
|
-
and(rhs: any): any;
|
|
183
|
-
or(rhs: any): any;
|
|
184
|
-
xor(rhs: any): any;
|
|
185
|
-
not(): any;
|
|
186
|
-
equals(rhs: any): boolean;
|
|
187
|
-
lt(rhs: any): boolean;
|
|
184
|
+
build(n: bigint): /*elided*/ any;
|
|
185
|
+
add(rhs: /*elided*/ any): /*elided*/ any;
|
|
186
|
+
sub(rhs: /*elided*/ any): /*elided*/ any;
|
|
187
|
+
mul(rhs: /*elided*/ any): /*elided*/ any;
|
|
188
|
+
div(rhs: /*elided*/ any): /*elided*/ any;
|
|
189
|
+
shr(rhs: /*elided*/ any): /*elided*/ any;
|
|
190
|
+
shl(rhs: /*elided*/ any): /*elided*/ any;
|
|
191
|
+
and(rhs: /*elided*/ any): /*elided*/ any;
|
|
192
|
+
or(rhs: /*elided*/ any): /*elided*/ any;
|
|
193
|
+
xor(rhs: /*elided*/ any): /*elided*/ any;
|
|
194
|
+
not(): /*elided*/ any;
|
|
195
|
+
equals(rhs: /*elided*/ any): boolean;
|
|
196
|
+
lt(rhs: /*elided*/ any): boolean;
|
|
188
197
|
toBigInt(): bigint;
|
|
189
198
|
toBuffer(): Buffer;
|
|
199
|
+
getTag(): TypeTag;
|
|
190
200
|
toFr(): Fr;
|
|
191
201
|
toAztecAddress(): AztecAddress;
|
|
192
202
|
toNumber(): number;
|
|
193
203
|
toString(): string;
|
|
194
204
|
};
|
|
205
|
+
readonly bits: number;
|
|
195
206
|
readonly mod: bigint;
|
|
196
207
|
readonly bitmask: bigint;
|
|
197
208
|
};
|
|
@@ -242,7 +253,7 @@ export declare class TaggedMemory implements TaggedMemoryInterface {
|
|
|
242
253
|
* Check that the memory at the given offset matches the specified tag.
|
|
243
254
|
*/
|
|
244
255
|
checkTag(tag: TypeTag, offset: number): void;
|
|
245
|
-
|
|
256
|
+
static isValidMemoryAddressTag(tag: TypeTag): tag is TypeTag.UINT32;
|
|
246
257
|
static checkIsIntegralTag(tag: TypeTag): void;
|
|
247
258
|
static checkIsValidTag(tagNumber: number): void;
|
|
248
259
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avm_memory_types.d.ts","sourceRoot":"","sources":["../../../src/public/avm/avm_memory_types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"avm_memory_types.d.ts","sourceRoot":"","sources":["../../../src/public/avm/avm_memory_types.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,9 @@ import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
|
6
6
|
import { strict as assert } from 'assert';
|
|
7
7
|
import { InvalidTagValueError, MemorySliceOutOfRangeError, TagCheckError } from './errors.js';
|
|
8
8
|
/** MemoryValue gathers the common operations for all memory types. */ export class MemoryValue {
|
|
9
|
+
getTag() {
|
|
10
|
+
return TaggedMemory.getTag(this);
|
|
11
|
+
}
|
|
9
12
|
// To field
|
|
10
13
|
toFr() {
|
|
11
14
|
return new Fr(this.toBigInt());
|
|
@@ -28,12 +31,14 @@ import { InvalidTagValueError, MemorySliceOutOfRangeError, TagCheckError } from
|
|
|
28
31
|
* In TypeScript terms, it's a class mixin.
|
|
29
32
|
**/ function UnsignedIntegerClassFactory(bits) {
|
|
30
33
|
return class NewUintClass extends IntegralValue {
|
|
34
|
+
static bits = bits;
|
|
31
35
|
static mod = 1n << BigInt(bits);
|
|
32
36
|
static bitmask = this.mod - 1n;
|
|
33
37
|
n;
|
|
34
38
|
constructor(n){
|
|
35
39
|
super();
|
|
36
40
|
this.n = BigInt(n);
|
|
41
|
+
assert(n >= 0n, `${this.constructor.name} cannot handle negative values: ${n}.`);
|
|
37
42
|
assert(n < NewUintClass.mod, `Value ${n} is too large for ${this.constructor.name}.`);
|
|
38
43
|
}
|
|
39
44
|
build(n) {
|
|
@@ -54,11 +59,17 @@ import { InvalidTagValueError, MemorySliceOutOfRangeError, TagCheckError } from
|
|
|
54
59
|
}
|
|
55
60
|
// No sign extension.
|
|
56
61
|
shr(rhs) {
|
|
57
|
-
// Note that this.n is
|
|
62
|
+
// Note that this.n is >= 0 by class invariant.
|
|
58
63
|
return this.build(this.n >> rhs.n);
|
|
59
64
|
}
|
|
60
65
|
shl(rhs) {
|
|
61
|
-
|
|
66
|
+
const shiftAmount = rhs.n;
|
|
67
|
+
const bitSize = BigInt(NewUintClass.bits);
|
|
68
|
+
// Shifting by more than the bit size always results in 0
|
|
69
|
+
if (shiftAmount >= bitSize) {
|
|
70
|
+
return this.build(0n);
|
|
71
|
+
}
|
|
72
|
+
return this.build(this.n << shiftAmount & NewUintClass.bitmask);
|
|
62
73
|
}
|
|
63
74
|
and(rhs) {
|
|
64
75
|
return this.build(this.n & rhs.n);
|
|
@@ -176,7 +187,7 @@ export class TaggedMemory {
|
|
|
176
187
|
getAs(offset) {
|
|
177
188
|
assert(Number.isInteger(offset) && offset < TaggedMemory.MAX_MEMORY_SIZE);
|
|
178
189
|
const word = this._mem.get(offset);
|
|
179
|
-
//TaggedMemory.log.trace(`
|
|
190
|
+
//TaggedMemory.log.trace(`Memory read: ${offset} -> ${word}`);
|
|
180
191
|
if (word === undefined) {
|
|
181
192
|
TaggedMemory.log.debug(`WARNING: Memory at offset ${offset} is undefined!`);
|
|
182
193
|
return new Field(0);
|
|
@@ -204,7 +215,7 @@ export class TaggedMemory {
|
|
|
204
215
|
set(offset, v) {
|
|
205
216
|
assert(Number.isInteger(offset) && offset < TaggedMemory.MAX_MEMORY_SIZE);
|
|
206
217
|
this._mem.set(offset, v);
|
|
207
|
-
//TaggedMemory.log.trace(`
|
|
218
|
+
//TaggedMemory.log.trace(`Memory write: ${offset} <- ${v}`);
|
|
208
219
|
}
|
|
209
220
|
setSlice(offset, slice) {
|
|
210
221
|
assert(Number.isInteger(offset));
|
|
@@ -228,8 +239,8 @@ export class TaggedMemory {
|
|
|
228
239
|
throw TagCheckError.forOffset(offset, TypeTag[gotTag], TypeTag[tag]);
|
|
229
240
|
}
|
|
230
241
|
}
|
|
231
|
-
|
|
232
|
-
|
|
242
|
+
static isValidMemoryAddressTag(tag) {
|
|
243
|
+
return tag === TypeTag.UINT32;
|
|
233
244
|
}
|
|
234
245
|
static checkIsIntegralTag(tag) {
|
|
235
246
|
if (!INTEGRAL_TAGS.has(tag)) {
|
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
3
1
|
import { Fr } from '@aztec/foundation/fields';
|
|
4
2
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
5
3
|
import type { GlobalVariables } from '@aztec/stdlib/tx';
|
|
4
|
+
import type { PublicPersistableStateManager } from '../state_manager/state_manager.js';
|
|
6
5
|
import { AvmContext } from './avm_context.js';
|
|
7
6
|
import { AvmContractCallResult } from './avm_contract_call_result.js';
|
|
8
7
|
import type { Gas } from './avm_gas.js';
|
|
9
|
-
import type {
|
|
8
|
+
import type { AvmSimulatorInterface } from './avm_simulator_interface.js';
|
|
10
9
|
import { type InstructionSet } from './serialization/bytecode_serialization.js';
|
|
11
|
-
export declare class AvmSimulator {
|
|
10
|
+
export declare class AvmSimulator implements AvmSimulatorInterface {
|
|
12
11
|
private context;
|
|
13
12
|
private instructionSet;
|
|
14
13
|
private log;
|
|
@@ -19,7 +18,7 @@ export declare class AvmSimulator {
|
|
|
19
18
|
private tallyInstructionFunction;
|
|
20
19
|
constructor(context: AvmContext, instructionSet?: InstructionSet, enableTallying?: boolean);
|
|
21
20
|
static build(context: AvmContext): Promise<AvmSimulator>;
|
|
22
|
-
static create(stateManager:
|
|
21
|
+
static create(stateManager: PublicPersistableStateManager, address: AztecAddress, sender: AztecAddress, transactionFee: Fr, globals: GlobalVariables, isStaticCall: boolean, calldata: Fr[], allocatedGas: Gas, clientInitiatedSimulation?: boolean, maxDebugLogMemoryReads?: number): Promise<AvmSimulator>;
|
|
23
22
|
/**
|
|
24
23
|
* Fetch the bytecode and execute it in the current context.
|
|
25
24
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avm_simulator.d.ts","sourceRoot":"","sources":["../../../src/public/avm/avm_simulator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"avm_simulator.d.ts","sourceRoot":"","sources":["../../../src/public/avm/avm_simulator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAG9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAKxD,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AACvF,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAExC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAI1E,OAAO,EAEL,KAAK,cAAc,EAEpB,MAAM,2CAA2C,CAAC;AAOnD,qBAAa,YAAa,YAAW,qBAAqB;IAatD,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,cAAc;IAbxB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,aAAa,CAAuC;IAE5D,OAAO,CAAC,6BAA6B,CAAiD;IAEtF,OAAO,CAAC,kBAAkB,CAAY;IACtC,OAAO,CAAC,wBAAwB,CAA+B;gBAKrD,OAAO,EAAE,UAAU,EACnB,cAAc,GAAE,cAAgC,EACxD,cAAc,UAAQ;WAeJ,KAAK,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC;WAQjD,MAAM,CACxB,YAAY,EAAE,6BAA6B,EAC3C,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,EACjB,yBAAyB,GAAE,OAAe,EAC1C,sBAAsB,CAAC,EAAE,MAAM;IAmBjC;;OAEG;IACU,OAAO,IAAI,OAAO,CAAC,qBAAqB,CAAC;IActD;;OAEG;IACI,WAAW,IAAI,MAAM,GAAG,SAAS;IAIxC;;;OAGG;IACU,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;YA+GhE,+BAA+B;IAoB7C,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,kBAAkB;CAS3B"}
|