@aztec/simulator 0.0.0-test.1 → 0.0.1-commit.5daedc8
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 +6 -4
- package/dest/client.d.ts.map +1 -1
- package/dest/client.js +4 -2
- package/dest/common/errors.d.ts +5 -14
- package/dest/common/errors.d.ts.map +1 -1
- package/dest/common/errors.js +51 -32
- package/dest/common/index.d.ts +1 -2
- package/dest/common/index.d.ts.map +1 -1
- package/dest/common/index.js +0 -1
- package/dest/common/stats/index.d.ts +1 -1
- package/dest/common/stats/stats.d.ts +1 -1
- package/dest/private/acvm/acvm.d.ts +12 -6
- 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 +2 -2
- package/dest/private/acvm/acvm_types.d.ts.map +1 -1
- package/dest/private/acvm/deserialize.d.ts +18 -19
- 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 +1 -2
- 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 +20 -3
- package/dest/private/acvm/serialize.d.ts.map +1 -1
- package/dest/private/acvm/serialize.js +53 -0
- package/dest/private/acvm_native.d.ts +39 -0
- 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 +6 -6
- package/dest/public/avm/avm_context.d.ts.map +1 -1
- package/dest/public/avm/avm_contract_call_result.d.ts +5 -3
- 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 +4 -2
- package/dest/public/avm/avm_execution_environment.d.ts.map +1 -1
- package/dest/public/avm/avm_execution_environment.js +4 -2
- package/dest/public/avm/avm_gas.d.ts +5 -21
- 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 +3 -1
- 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 +99 -88
- 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 +6 -6
- 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 +7 -31
- 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 +6 -5
- package/dest/public/avm/fixtures/avm_simulation_tester.d.ts.map +1 -1
- package/dest/public/avm/fixtures/avm_simulation_tester.js +22 -15
- package/dest/public/avm/fixtures/base_avm_simulation_tester.d.ts +7 -5
- 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 +42 -0
- package/dest/public/avm/fixtures/initializers.d.ts.map +1 -0
- package/dest/public/avm/fixtures/initializers.js +44 -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 +1 -3
- 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 +3 -3
- 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 +12 -8
- 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 +17 -7
- 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 +10 -18
- 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 +4 -4
- 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 +2 -3
- 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 +1 -1
- 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 +2 -1
- 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 +2 -2
- 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 +3 -3
- 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 +9 -8
- 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 +2 -2
- 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/index.d.ts +1 -1
- package/dest/public/avm/opcodes/instruction.d.ts +15 -11
- 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/instruction_impl.d.ts +1 -1
- package/dest/public/avm/opcodes/instruction_impl.d.ts.map +1 -1
- package/dest/public/avm/opcodes/memory.d.ts +6 -6
- 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 +3 -2
- 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 +3 -3
- 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 +1 -3
- package/dest/public/avm/serialization/buffer_cursor.d.ts.map +1 -1
- package/dest/public/avm/serialization/bytecode_serialization.d.ts +3 -7
- 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 +14 -5
- 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 +11 -14
- package/dest/public/avm/test_utils.d.ts.map +1 -1
- package/dest/public/avm/test_utils.js +16 -24
- package/dest/public/contracts_db_checkpoint.d.ts +16 -0
- package/dest/public/contracts_db_checkpoint.d.ts.map +1 -0
- package/dest/public/contracts_db_checkpoint.js +30 -0
- package/dest/public/db_interfaces.d.ts +68 -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 +12 -4
- 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 +10 -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 +8 -1
- 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 +9 -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 -14
- package/dest/public/fixtures/public_tx_simulation_tester.d.ts.map +1 -1
- package/dest/public/fixtures/public_tx_simulation_tester.js +100 -71
- package/dest/public/fixtures/simple_contract_data_source.d.ts +35 -0
- 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 +94 -0
- package/dest/public/fixtures/utils.d.ts +17 -4
- 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 +78 -0
- package/dest/public/hinting_db_sources.d.ts.map +1 -0
- package/dest/public/hinting_db_sources.js +350 -0
- package/dest/public/index.d.ts +6 -9
- package/dest/public/index.d.ts.map +1 -1
- package/dest/public/index.js +4 -7
- package/dest/public/public_db_sources.d.ts +51 -101
- package/dest/public/public_db_sources.d.ts.map +1 -1
- package/dest/public/public_db_sources.js +219 -192
- 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 -37
- package/dest/public/public_processor/public_processor.d.ts.map +1 -1
- package/dest/public/public_processor/public_processor.js +154 -111
- package/dest/public/public_processor/public_processor_metrics.d.ts +3 -3
- 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/contract_provider_for_cpp.d.ts +30 -0
- package/dest/public/public_tx_simulator/contract_provider_for_cpp.d.ts.map +1 -0
- package/dest/public/public_tx_simulator/contract_provider_for_cpp.js +133 -0
- package/dest/public/public_tx_simulator/cpp_public_tx_simulator.d.ts +66 -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 +210 -0
- package/dest/public/public_tx_simulator/index.d.ts +5 -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 +31 -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 +23 -30
- package/dest/public/public_tx_simulator/public_tx_context.d.ts.map +1 -1
- package/dest/public/public_tx_simulator/public_tx_context.js +71 -91
- package/dest/public/public_tx_simulator/public_tx_simulator.d.ts +36 -58
- package/dest/public/public_tx_simulator/public_tx_simulator.d.ts.map +1 -1
- package/dest/public/public_tx_simulator/public_tx_simulator.js +208 -206
- 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 +42 -2
- 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 +21 -67
- 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 +12 -24
- 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 +3 -6
- 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 +3 -3
- package/dest/public/state_manager/public_storage.d.ts.map +1 -0
- package/dest/public/state_manager/state_manager.d.ts +159 -0
- package/dest/public/state_manager/state_manager.d.ts.map +1 -0
- package/dest/public/state_manager/state_manager.js +392 -0
- package/dest/public/test_executor_metrics.d.ts +55 -0
- package/dest/public/test_executor_metrics.d.ts.map +1 -0
- package/dest/public/test_executor_metrics.js +307 -0
- package/dest/public/unique_class_ids.d.ts +1 -1
- package/dest/public/unique_class_ids.d.ts.map +1 -1
- package/dest/public/utils.d.ts +3 -5
- package/dest/public/utils.d.ts.map +1 -1
- package/dest/public/utils.js +4 -21
- package/dest/server.d.ts +7 -4
- 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 +39 -33
- 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 +8 -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 +43 -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 +32 -21
- package/src/public/avm/fixtures/base_avm_simulation_tester.ts +45 -12
- package/src/public/avm/fixtures/initializers.ts +102 -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/contracts_db_checkpoint.ts +41 -0
- package/src/public/db_interfaces.ts +76 -0
- package/src/{common → public}/debug_fn_name.ts +7 -7
- package/src/public/executor_metrics.ts +56 -6
- package/src/public/executor_metrics_interface.ts +15 -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 +35 -0
- package/src/public/fixtures/public_tx_simulation_tester.ts +166 -113
- package/src/public/{avm/fixtures → fixtures}/simple_contract_data_source.ts +36 -18
- package/src/public/fixtures/token_test.ts +139 -0
- package/src/public/fixtures/utils.ts +141 -68
- package/src/public/hinting_db_sources.ts +602 -0
- package/src/public/index.ts +5 -8
- package/src/public/public_db_sources.ts +278 -258
- 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 +212 -164
- package/src/public/public_processor/public_processor_metrics.ts +2 -2
- package/src/public/public_tx_simulator/contract_provider_for_cpp.ts +162 -0
- package/src/public/public_tx_simulator/cpp_public_tx_simulator.ts +306 -0
- package/src/public/public_tx_simulator/index.ts +4 -0
- package/src/public/public_tx_simulator/measured_public_tx_simulator.ts +105 -0
- package/src/public/public_tx_simulator/public_tx_context.ts +167 -194
- package/src/public/public_tx_simulator/public_tx_simulator.ts +292 -265
- package/src/public/public_tx_simulator/public_tx_simulator_interface.ts +10 -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 +553 -0
- package/src/public/test_executor_metrics.ts +397 -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 +0 -40
- 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 +0 -35
- 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 +0 -209
- 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/public/tx_contract_cache.d.ts +0 -41
- package/dest/public/tx_contract_cache.d.ts.map +0 -1
- package/dest/public/tx_contract_cache.js +0 -49
- 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/public/tx_contract_cache.ts +0 -69
- 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;
|
|
@@ -92,4 +94,4 @@ export declare class AvmMachineState {
|
|
|
92
94
|
private exceptionalHalt;
|
|
93
95
|
}
|
|
94
96
|
export {};
|
|
95
|
-
//# sourceMappingURL=
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZtX21hY2hpbmVfc3RhdGUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wdWJsaWMvYXZtL2F2bV9tYWNoaW5lX3N0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRW5ELE9BQU8sS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLEtBQUssZUFBZSxFQUFpQixNQUFNLGFBQWEsQ0FBQztBQUVsRTs7R0FFRztBQUNILE1BQU0sTUFBTSxzQkFBc0IsR0FBRztJQUNuQyxTQUFTLEVBQUUsTUFBTSxDQUFDO0lBQ2xCLFNBQVMsRUFBRSxNQUFNLENBQUM7Q0FDbkIsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCxLQUFLLGlCQUFpQixHQUFHO0lBQ3ZCLHdCQUF3QixFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQy9CLHFCQUFxQixFQUFFLGVBQWUsQ0FBQztDQUN4QyxDQUFDO0FBRUYsS0FBSyxjQUFjLEdBQUc7SUFDcEIsTUFBTSxFQUFFLE1BQU0sQ0FBQztJQUNmLFFBQVEsRUFBRSxNQUFNLENBQUM7Q0FDbEIsQ0FBQztBQUVGOztHQUVHO0FBQ0gscUJBQWEsZUFBZTtJQUMxQiw2REFBNkQ7SUFDdEQsU0FBUyxFQUFFLE1BQU0sQ0FBQztJQUNsQixTQUFTLEVBQUUsTUFBTSxDQUFDO0lBQ3pCLGtDQUFrQztJQUMzQixFQUFFLEVBQUUsTUFBTSxDQUFLO0lBQ3RCLDBEQUEwRDtJQUNuRCxNQUFNLEVBQUUsTUFBTSxDQUFLO0lBQzFCLGlEQUFpRDtJQUMxQyxnQkFBZ0IsRUFBRSxFQUFFLEVBQUUsQ0FBTTtJQUNuQywyREFBMkQ7SUFDcEQsaUJBQWlCLEVBQUUsT0FBTyxDQUFTO0lBQzFDOzs7O09BSUc7SUFDSSxtQkFBbUIsRUFBRSxpQkFBaUIsR0FBRyxTQUFTLENBQUM7SUFFMUQ7OztPQUdHO0lBQ0ksaUJBQWlCLEVBQUUsY0FBYyxFQUFFLENBQU07SUFFaEQscUNBQXFDO0lBQ3JDLFNBQWdCLE1BQU0sRUFBRSxZQUFZLENBQXNCO0lBRTFEOzs7T0FHRztJQUNILE9BQU8sQ0FBQyxNQUFNLENBQWtCO0lBQ2hDLDJGQUEyRjtJQUMzRixPQUFPLENBQUMsUUFBUSxDQUFrQjtJQUNsQyxzREFBc0Q7SUFDdEQsT0FBTyxDQUFDLE1BQU0sQ0FBWTtJQUcxQixrREFBa0Q7SUFDM0MsWUFBWSxFQUFFLE1BQU0sQ0FBSztJQUdoQyxZQUFZLE9BQU8sRUFBRSxHQUFHLEVBQUU7SUFDMUIsWUFBWSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUU7SUFVbEQsSUFBVyxPQUFPLElBQUksR0FBRyxDQUV4QjtJQUVELE9BQWMsU0FBUyxDQUFDLEtBQUssRUFBRSxzQkFBc0IsR0FBRyxlQUFlLENBRXRFO0lBRUQ7Ozs7T0FJRztJQUNJLFVBQVUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQW1CdEM7SUFFRCx1REFBdUQ7SUFDaEQsU0FBUyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLFFBR3ZDO0lBRUQ7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLFFBR3pCO0lBRUQ7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLFFBSXpCO0lBRU0sU0FBUyxJQUFJLE9BQU8sQ0FFMUI7SUFFTSxXQUFXLElBQUksT0FBTyxDQUU1QjtJQUVNLFNBQVMsSUFBSSxFQUFFLEVBQUUsQ0FFdkI7SUFFRDs7T0FFRztJQUNILE9BQU8sQ0FBQyxlQUFlO0NBTXhCIn0=
|
|
@@ -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;IAGhC,YAAY,OAAO,EAAE,GAAG,EAAE;IAC1B,YAAY,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE;IAUlD,IAAW,OAAO,IAAI,GAAG,CAExB;IAED,OAAc,SAAS,CAAC,KAAK,EAAE,sBAAsB,GAAG,eAAe,CAEtE;IAED;;;;OAIG;IACI,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,QAmBtC;IAED,uDAAuD;IAChD,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,QAGvC;IAED;;;;OAIG;IACI,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,QAGzB;IAED;;;;OAIG;IACI,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,QAIzB;IAEM,SAAS,IAAI,OAAO,CAE1B;IAEM,WAAW,IAAI,OAAO,CAE5B;IAEM,SAAS,IAAI,EAAE,EAAE,CAEvB;IAED;;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;
|
|
@@ -32,26 +31,28 @@ export declare abstract class IntegralValue extends MemoryValue {
|
|
|
32
31
|
declare const Uint1_base: {
|
|
33
32
|
new (n: number | bigint): {
|
|
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
|
-
toBuffer(): Buffer
|
|
48
|
+
toBuffer(): Buffer<ArrayBufferLike>;
|
|
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
|
};
|
|
@@ -60,26 +61,28 @@ export declare class Uint1 extends Uint1_base {
|
|
|
60
61
|
declare const Uint8_base: {
|
|
61
62
|
new (n: number | bigint): {
|
|
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
|
-
toBuffer(): Buffer
|
|
78
|
+
toBuffer(): Buffer<ArrayBufferLike>;
|
|
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
|
};
|
|
@@ -88,26 +91,28 @@ export declare class Uint8 extends Uint8_base {
|
|
|
88
91
|
declare const Uint16_base: {
|
|
89
92
|
new (n: number | bigint): {
|
|
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
|
-
toBuffer(): Buffer
|
|
108
|
+
toBuffer(): Buffer<ArrayBufferLike>;
|
|
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
|
};
|
|
@@ -116,26 +121,28 @@ export declare class Uint16 extends Uint16_base {
|
|
|
116
121
|
declare const Uint32_base: {
|
|
117
122
|
new (n: number | bigint): {
|
|
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
|
-
toBuffer(): Buffer
|
|
138
|
+
toBuffer(): Buffer<ArrayBufferLike>;
|
|
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
|
};
|
|
@@ -144,26 +151,28 @@ export declare class Uint32 extends Uint32_base {
|
|
|
144
151
|
declare const Uint64_base: {
|
|
145
152
|
new (n: number | bigint): {
|
|
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
|
-
toBuffer(): Buffer
|
|
168
|
+
toBuffer(): Buffer<ArrayBufferLike>;
|
|
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
|
};
|
|
@@ -172,26 +181,28 @@ export declare class Uint64 extends Uint64_base {
|
|
|
172
181
|
declare const Uint128_base: {
|
|
173
182
|
new (n: number | bigint): {
|
|
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
|
-
toBuffer(): Buffer
|
|
198
|
+
toBuffer(): Buffer<ArrayBufferLike>;
|
|
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
|
/**
|
|
@@ -261,4 +272,4 @@ export declare class TaggedMemory implements TaggedMemoryInterface {
|
|
|
261
272
|
static buildFromTagTruncating(v: bigint | number, tag: TypeTag): MemoryValue;
|
|
262
273
|
}
|
|
263
274
|
export {};
|
|
264
|
-
//# sourceMappingURL=
|
|
275
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZtX21lbW9yeV90eXBlcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3B1YmxpYy9hdm0vYXZtX21lbW9yeV90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDOUMsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBQ2xFLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQU0zRCxzRUFBc0U7QUFDdEUsOEJBQXNCLFdBQVc7SUFDL0IsU0FBZ0IsR0FBRyxDQUFDLEdBQUcsRUFBRSxXQUFXLEdBQUcsV0FBVyxDQUFDO0lBQ25ELFNBQWdCLEdBQUcsQ0FBQyxHQUFHLEVBQUUsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUNuRCxTQUFnQixHQUFHLENBQUMsR0FBRyxFQUFFLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDbkQsU0FBZ0IsR0FBRyxDQUFDLEdBQUcsRUFBRSxXQUFXLEdBQUcsV0FBVyxDQUFDO0lBRW5ELFNBQWdCLE1BQU0sQ0FBQyxHQUFHLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQztJQUNsRCxTQUFnQixFQUFFLENBQUMsR0FBRyxFQUFFLFdBQVcsR0FBRyxPQUFPLENBQUM7SUFHOUMsU0FBZ0IsS0FBSyxDQUFDLENBQUMsRUFBRSxNQUFNLEdBQUcsV0FBVyxDQUFDO0lBRzlDLFNBQWdCLFFBQVEsSUFBSSxNQUFNLENBQUM7SUFDNUIsTUFBTSxJQUFJLE9BQU8sQ0FFdkI7SUFHRCxTQUFnQixRQUFRLElBQUksTUFBTSxDQUFDO0lBRzVCLElBQUksSUFBSSxFQUFFLENBRWhCO0lBRU0sY0FBYyxJQUFJLFlBQVksQ0FFcEM7SUFHTSxRQUFRLElBQUksTUFBTSxDQUV4QjtJQUVNLFFBQVEsSUFB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
|
|
@@ -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,14 @@
|
|
|
1
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
3
1
|
import { Fr } from '@aztec/foundation/fields';
|
|
2
|
+
import type { PublicSimulatorConfig } from '@aztec/stdlib/avm';
|
|
4
3
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
5
4
|
import type { GlobalVariables } from '@aztec/stdlib/tx';
|
|
5
|
+
import type { PublicPersistableStateManager } from '../state_manager/state_manager.js';
|
|
6
6
|
import { AvmContext } from './avm_context.js';
|
|
7
7
|
import { AvmContractCallResult } from './avm_contract_call_result.js';
|
|
8
8
|
import type { Gas } from './avm_gas.js';
|
|
9
|
-
import type {
|
|
9
|
+
import type { AvmSimulatorInterface } from './avm_simulator_interface.js';
|
|
10
10
|
import { type InstructionSet } from './serialization/bytecode_serialization.js';
|
|
11
|
-
export declare class AvmSimulator {
|
|
11
|
+
export declare class AvmSimulator implements AvmSimulatorInterface {
|
|
12
12
|
private context;
|
|
13
13
|
private instructionSet;
|
|
14
14
|
private log;
|
|
@@ -19,7 +19,7 @@ export declare class AvmSimulator {
|
|
|
19
19
|
private tallyInstructionFunction;
|
|
20
20
|
constructor(context: AvmContext, instructionSet?: InstructionSet, enableTallying?: boolean);
|
|
21
21
|
static build(context: AvmContext): Promise<AvmSimulator>;
|
|
22
|
-
static create(stateManager:
|
|
22
|
+
static create(stateManager: PublicPersistableStateManager, address: AztecAddress, sender: AztecAddress, transactionFee: Fr, globals: GlobalVariables, isStaticCall: boolean, calldata: Fr[], allocatedGas: Gas, config: PublicSimulatorConfig): Promise<AvmSimulator>;
|
|
23
23
|
/**
|
|
24
24
|
* Fetch the bytecode and execute it in the current context.
|
|
25
25
|
*/
|
|
@@ -37,4 +37,4 @@ export declare class AvmSimulator {
|
|
|
37
37
|
private tallyInstruction;
|
|
38
38
|
private printOpcodeTallies;
|
|
39
39
|
}
|
|
40
|
-
//# sourceMappingURL=
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZtX3NpbXVsYXRvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3B1YmxpYy9hdm0vYXZtX3NpbXVsYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHOUMsT0FBTyxLQUFLLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvRCxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUt4RCxPQUFPLEtBQUssRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUV0RSxPQUFPLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFeEMsT0FBTyxLQUFLLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUkxRSxPQUFPLEVBRUwsS0FBSyxjQUFjLEVBRXBCLE1BQU0sMkNBQTJDLENBQUM7QUFPbkQscUJBQWEsWUFBYSxZQUFXLHFCQUFxQjtJQWF0RCxPQUFPLENBQUMsT0FBTztJQUNmLE9BQU8sQ0FBQyxjQUFjO0lBYnhCLE9BQU8sQ0FBQyxHQUFHLENBQVM7SUFDcEIsT0FBTyxDQUFDLFFBQVEsQ0FBcUI7SUFDckMsT0FBTyxDQUFDLGFBQWEsQ0FBdUM7SUFFNUQsT0FBTyxDQUFDLDZCQUE2QixDQUFpRDtJQUV0RixPQUFPLENBQUMsa0JBQWtCLENBQVk7SUFDdEMsT0FBTyxDQUFDLHdCQUF3QixDQUErQjtJQUkvRCxZQUNVLE9BQU8sRUFBRSxVQUFVLEVBQ25CLGNBQWMsR0FBRSxjQUFnQyxFQUN4RCxjQUFjLFVBQVEsRUFXdkI7SUFJRCxPQUFvQixLQUFLLENBQUMsT0FBTyxFQUFFLFVBQVUsR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLENBTXBFO0lBRUQsT0FBb0IsTUFBTSxDQUN4QixZQUFZLEVBQUUsNkJBQTZCLEVBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQ3JCLE1BQU0sRUFBRSxZQUFZLEVBQ3BCLGNBQWMsRUFBRSxFQUFFLEVBQ2xCLE9BQU8sRUFBRSxlQUFlLEVBQ3hCLFlBQVksRUFBRSxPQUFPLEVBQ3JCLFFBQVEsRUFBRSxFQUFFLEVBQUUsRUFDZCxZQUFZLEVBQUUsR0FBRyxFQUNqQixNQUFNLEVBQUUscUJBQXFCLHlCQWdCOUI7SUFFRDs7T0FFRztJQUNVLE9BQU8sSUFBSSxPQUFPLENBQUMscUJBQXFCLENBQUMsQ0FZckQ7SUFFRDs7T0FFRztJQUNJLFdBQVcsSUFBSSxNQUFNLEdBQUcsU0FBUyxDQUV2QztJQUVEOzs7T0FHRztJQUNVLGVBQWUsQ0FBQyxRQUFRLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxDQTZHN0U7WUFFYSwrQkFBK0I7SUFvQjdDLE9BQU8sQ0FBQyxnQkFBZ0I7SUFReEIsT0FBTyxDQUFDLGtCQUFrQjtDQVMzQiJ9
|
|
@@ -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,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/D,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;IAI/D,YACU,OAAO,EAAE,UAAU,EACnB,cAAc,GAAE,cAAgC,EACxD,cAAc,UAAQ,EAWvB;IAID,OAAoB,KAAK,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAMpE;IAED,OAAoB,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,MAAM,EAAE,qBAAqB,yBAgB9B;IAED;;OAEG;IACU,OAAO,IAAI,OAAO,CAAC,qBAAqB,CAAC,CAYrD;IAED;;OAEG;IACI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEvC;IAED;;;OAGG;IACU,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CA6G7E;YAEa,+BAA+B;IAoB7C,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,kBAAkB;CAS3B"}
|