@aztec/simulator 0.0.1-fake-ceab37513c → 0.0.6-commit.a2d1860fe9
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 -4
- package/dest/client.d.ts +1 -1
- package/dest/common/errors.d.ts +2 -2
- package/dest/common/errors.d.ts.map +1 -1
- package/dest/common/index.d.ts +1 -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 +4 -2
- package/dest/private/acvm/acvm.d.ts.map +1 -1
- package/dest/private/acvm/acvm.js +4 -3
- package/dest/private/acvm/acvm_types.d.ts +1 -1
- package/dest/private/acvm/deserialize.d.ts +2 -2
- package/dest/private/acvm/deserialize.d.ts.map +1 -1
- package/dest/private/acvm/deserialize.js +1 -1
- package/dest/private/acvm/index.d.ts +1 -1
- package/dest/private/acvm/serialize.d.ts +2 -2
- package/dest/private/acvm/serialize.d.ts.map +1 -1
- package/dest/private/acvm/serialize.js +1 -1
- package/dest/private/acvm_native.d.ts +6 -5
- package/dest/private/acvm_native.d.ts.map +1 -1
- package/dest/private/acvm_native.js +23 -19
- package/dest/private/acvm_wasm.d.ts +4 -3
- package/dest/private/acvm_wasm.d.ts.map +1 -1
- package/dest/private/acvm_wasm.js +4 -4
- package/dest/private/acvm_wasm_with_blobs.d.ts +1 -1
- package/dest/private/acvm_wasm_with_blobs.d.ts.map +1 -1
- package/dest/private/circuit_recording/circuit_recorder.d.ts +4 -3
- package/dest/private/circuit_recording/circuit_recorder.d.ts.map +1 -1
- package/dest/private/circuit_recording/circuit_recorder.js +21 -18
- package/dest/private/circuit_recording/file_circuit_recorder.d.ts +3 -2
- package/dest/private/circuit_recording/file_circuit_recorder.d.ts.map +1 -1
- package/dest/private/circuit_recording/file_circuit_recorder.js +2 -2
- package/dest/private/circuit_recording/memory_circuit_recorder.d.ts +7 -2
- package/dest/private/circuit_recording/memory_circuit_recorder.d.ts.map +1 -1
- package/dest/private/circuit_recording/memory_circuit_recorder.js +4 -4
- package/dest/private/circuit_recording/simulator_recorder_wrapper.d.ts +2 -2
- package/dest/private/circuit_recording/simulator_recorder_wrapper.d.ts.map +1 -1
- package/dest/private/circuit_simulator.d.ts +1 -1
- package/dest/private/factory.d.ts +3 -3
- package/dest/private/factory.d.ts.map +1 -1
- package/dest/private/factory.js +7 -4
- package/dest/public/avm/avm_context.d.ts +3 -3
- package/dest/public/avm/avm_context.d.ts.map +1 -1
- package/dest/public/avm/avm_contract_call_result.d.ts +6 -6
- package/dest/public/avm/avm_contract_call_result.d.ts.map +1 -1
- package/dest/public/avm/avm_contract_call_result.js +3 -3
- package/dest/public/avm/avm_execution_environment.d.ts +9 -7
- package/dest/public/avm/avm_execution_environment.d.ts.map +1 -1
- package/dest/public/avm/avm_execution_environment.js +5 -5
- package/dest/public/avm/avm_gas.d.ts +2 -2
- package/dest/public/avm/avm_gas.d.ts.map +1 -1
- package/dest/public/avm/avm_gas.js +3 -3
- package/dest/public/avm/avm_machine_state.d.ts +7 -6
- package/dest/public/avm/avm_machine_state.d.ts.map +1 -1
- package/dest/public/avm/avm_machine_state.js +3 -2
- package/dest/public/avm/avm_memory_types.d.ts +14 -14
- package/dest/public/avm/avm_memory_types.d.ts.map +1 -1
- package/dest/public/avm/avm_memory_types.js +4 -1
- package/dest/public/avm/avm_simulator.d.ts +5 -3
- package/dest/public/avm/avm_simulator.d.ts.map +1 -1
- package/dest/public/avm/avm_simulator.js +24 -29
- package/dest/public/avm/avm_simulator_interface.d.ts +1 -1
- package/dest/public/avm/calldata.d.ts +51 -0
- package/dest/public/avm/calldata.d.ts.map +1 -0
- package/dest/public/avm/calldata.js +63 -0
- package/dest/public/avm/errors.d.ts +13 -16
- package/dest/public/avm/errors.d.ts.map +1 -1
- package/dest/public/avm/errors.js +21 -22
- package/dest/public/avm/fixtures/account_proof_fetcher.d.ts +2 -0
- package/dest/public/avm/fixtures/account_proof_fetcher.d.ts.map +1 -0
- package/dest/public/avm/fixtures/account_proof_fetcher.js +152 -0
- package/dest/public/avm/fixtures/avm_simulation_tester.d.ts +3 -2
- package/dest/public/avm/fixtures/avm_simulation_tester.d.ts.map +1 -1
- package/dest/public/avm/fixtures/avm_simulation_tester.js +17 -8
- package/dest/public/avm/fixtures/base_avm_simulation_tester.d.ts +4 -2
- package/dest/public/avm/fixtures/base_avm_simulation_tester.d.ts.map +1 -1
- package/dest/public/avm/fixtures/base_avm_simulation_tester.js +23 -1
- package/dest/public/avm/fixtures/initializers.d.ts +2 -3
- package/dest/public/avm/fixtures/initializers.d.ts.map +1 -1
- package/dest/public/avm/fixtures/initializers.js +7 -4
- package/dest/public/avm/fixtures/utils.d.ts +4 -3
- package/dest/public/avm/fixtures/utils.d.ts.map +1 -1
- package/dest/public/avm/fixtures/utils.js +3 -2
- package/dest/public/avm/index.d.ts +1 -1
- package/dest/public/avm/opcodes/accrued_substate.d.ts +18 -19
- package/dest/public/avm/opcodes/accrued_substate.d.ts.map +1 -1
- package/dest/public/avm/opcodes/accrued_substate.js +47 -48
- package/dest/public/avm/opcodes/addressing_mode.d.ts +1 -1
- package/dest/public/avm/opcodes/addressing_mode.d.ts.map +1 -1
- package/dest/public/avm/opcodes/addressing_mode.js +4 -5
- package/dest/public/avm/opcodes/arithmetic.d.ts +3 -1
- package/dest/public/avm/opcodes/arithmetic.d.ts.map +1 -1
- package/dest/public/avm/opcodes/arithmetic.js +12 -2
- package/dest/public/avm/opcodes/bitwise.d.ts +3 -3
- package/dest/public/avm/opcodes/bitwise.d.ts.map +1 -1
- package/dest/public/avm/opcodes/bitwise.js +5 -5
- package/dest/public/avm/opcodes/comparators.d.ts +1 -1
- package/dest/public/avm/opcodes/comparators.d.ts.map +1 -1
- package/dest/public/avm/opcodes/comparators.js +1 -1
- package/dest/public/avm/opcodes/contract.d.ts +3 -3
- package/dest/public/avm/opcodes/contract.d.ts.map +1 -1
- package/dest/public/avm/opcodes/contract.js +8 -8
- package/dest/public/avm/opcodes/control_flow.d.ts +3 -3
- package/dest/public/avm/opcodes/control_flow.d.ts.map +1 -1
- package/dest/public/avm/opcodes/control_flow.js +4 -4
- package/dest/public/avm/opcodes/conversion.d.ts +3 -3
- package/dest/public/avm/opcodes/conversion.d.ts.map +1 -1
- package/dest/public/avm/opcodes/conversion.js +7 -4
- package/dest/public/avm/opcodes/ec_add.d.ts +3 -3
- package/dest/public/avm/opcodes/ec_add.d.ts.map +1 -1
- package/dest/public/avm/opcodes/ec_add.js +20 -11
- package/dest/public/avm/opcodes/environment_getters.d.ts +5 -5
- package/dest/public/avm/opcodes/environment_getters.d.ts.map +1 -1
- package/dest/public/avm/opcodes/environment_getters.js +11 -13
- package/dest/public/avm/opcodes/external_calls.d.ts +9 -9
- package/dest/public/avm/opcodes/external_calls.d.ts.map +1 -1
- package/dest/public/avm/opcodes/external_calls.js +23 -23
- package/dest/public/avm/opcodes/hashing.d.ts +7 -7
- package/dest/public/avm/opcodes/hashing.d.ts.map +1 -1
- package/dest/public/avm/opcodes/hashing.js +21 -16
- package/dest/public/avm/opcodes/index.d.ts +1 -1
- package/dest/public/avm/opcodes/instruction.d.ts +2 -2
- package/dest/public/avm/opcodes/instruction.d.ts.map +1 -1
- package/dest/public/avm/opcodes/instruction.js +5 -6
- package/dest/public/avm/opcodes/instruction_impl.d.ts +4 -4
- package/dest/public/avm/opcodes/instruction_impl.d.ts.map +1 -1
- package/dest/public/avm/opcodes/instruction_impl.js +4 -4
- package/dest/public/avm/opcodes/memory.d.ts +13 -13
- package/dest/public/avm/opcodes/memory.d.ts.map +1 -1
- package/dest/public/avm/opcodes/memory.js +26 -26
- package/dest/public/avm/opcodes/misc.d.ts +4 -3
- package/dest/public/avm/opcodes/misc.d.ts.map +1 -1
- package/dest/public/avm/opcodes/misc.js +30 -10
- package/dest/public/avm/opcodes/storage.d.ts +14 -13
- package/dest/public/avm/opcodes/storage.d.ts.map +1 -1
- package/dest/public/avm/opcodes/storage.js +34 -24
- package/dest/public/avm/revert_reason.d.ts +2 -2
- package/dest/public/avm/revert_reason.d.ts.map +1 -1
- package/dest/public/avm/revert_reason.js +3 -2
- package/dest/public/avm/serialization/buffer_cursor.d.ts +1 -1
- package/dest/public/avm/serialization/buffer_cursor.d.ts.map +1 -1
- package/dest/public/avm/serialization/bytecode_serialization.d.ts +1 -1
- package/dest/public/avm/serialization/bytecode_serialization.d.ts.map +1 -1
- package/dest/public/avm/serialization/bytecode_serialization.js +12 -9
- package/dest/public/avm/serialization/instruction_serialization.d.ts +10 -2
- package/dest/public/avm/serialization/instruction_serialization.d.ts.map +1 -1
- package/dest/public/avm/serialization/instruction_serialization.js +12 -2
- package/dest/public/avm/test_utils.d.ts +4 -4
- package/dest/public/avm/test_utils.d.ts.map +1 -1
- package/dest/public/avm/test_utils.js +7 -10
- 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 +14 -2
- package/dest/public/db_interfaces.d.ts.map +1 -1
- package/dest/public/debug_fn_name.d.ts +16 -3
- package/dest/public/debug_fn_name.d.ts.map +1 -1
- package/dest/public/debug_fn_name.js +31 -3
- package/dest/public/executor_metrics.d.ts +3 -2
- package/dest/public/executor_metrics.d.ts.map +1 -1
- package/dest/public/executor_metrics.js +13 -34
- package/dest/public/executor_metrics_interface.d.ts +3 -2
- package/dest/public/executor_metrics_interface.d.ts.map +1 -1
- package/dest/public/fixtures/amm_test.d.ts +1 -1
- package/dest/public/fixtures/amm_test.js +4 -4
- package/dest/public/fixtures/bulk_test.d.ts +3 -3
- package/dest/public/fixtures/bulk_test.d.ts.map +1 -1
- package/dest/public/fixtures/bulk_test.js +63 -194
- package/dest/public/fixtures/custom_bytecode_tester.d.ts +34 -0
- package/dest/public/fixtures/custom_bytecode_tester.d.ts.map +1 -0
- package/dest/public/fixtures/custom_bytecode_tester.js +53 -0
- package/dest/public/fixtures/custom_bytecode_tests.d.ts +12 -0
- package/dest/public/fixtures/custom_bytecode_tests.d.ts.map +1 -0
- package/dest/public/fixtures/custom_bytecode_tests.js +174 -0
- package/dest/public/fixtures/index.d.ts +5 -2
- package/dest/public/fixtures/index.d.ts.map +1 -1
- package/dest/public/fixtures/index.js +4 -1
- package/dest/public/fixtures/minimal_public_tx.d.ts +4 -9
- package/dest/public/fixtures/minimal_public_tx.d.ts.map +1 -1
- package/dest/public/fixtures/minimal_public_tx.js +10 -34
- package/dest/public/fixtures/opcode_spammer.d.ts +122 -0
- package/dest/public/fixtures/opcode_spammer.d.ts.map +1 -0
- package/dest/public/fixtures/opcode_spammer.js +1653 -0
- package/dest/public/fixtures/public_tx_simulation_tester.d.ts +25 -5
- package/dest/public/fixtures/public_tx_simulation_tester.d.ts.map +1 -1
- package/dest/public/fixtures/public_tx_simulation_tester.js +63 -17
- package/dest/public/fixtures/simple_contract_data_source.d.ts +5 -4
- package/dest/public/fixtures/simple_contract_data_source.d.ts.map +1 -1
- package/dest/public/fixtures/simple_contract_data_source.js +4 -4
- package/dest/public/fixtures/token_test.d.ts +6 -2
- package/dest/public/fixtures/token_test.d.ts.map +1 -1
- package/dest/public/fixtures/token_test.js +13 -12
- package/dest/public/fixtures/utils.d.ts +2 -2
- package/dest/public/fixtures/utils.d.ts.map +1 -1
- package/dest/public/fixtures/utils.js +11 -10
- package/dest/public/fuzzing/avm_fuzzer_simulator.d.ts +60 -0
- package/dest/public/fuzzing/avm_fuzzer_simulator.d.ts.map +1 -0
- package/dest/public/fuzzing/avm_fuzzer_simulator.js +171 -0
- package/dest/public/fuzzing/avm_simulator_bin.d.ts +2 -0
- package/dest/public/fuzzing/avm_simulator_bin.d.ts.map +1 -0
- package/dest/public/fuzzing/avm_simulator_bin.js +118 -0
- package/dest/public/hinting_db_sources.d.ts +16 -4
- package/dest/public/hinting_db_sources.d.ts.map +1 -1
- package/dest/public/hinting_db_sources.js +74 -13
- package/dest/public/index.d.ts +3 -2
- package/dest/public/index.d.ts.map +1 -1
- package/dest/public/index.js +1 -1
- package/dest/public/public_db_sources.d.ts +27 -67
- package/dest/public/public_db_sources.d.ts.map +1 -1
- package/dest/public/public_db_sources.js +89 -136
- 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 +6 -2
- package/dest/public/public_processor/guarded_merkle_tree.d.ts.map +1 -1
- package/dest/public/public_processor/guarded_merkle_tree.js +8 -0
- package/dest/public/public_processor/public_processor.d.ts +16 -15
- package/dest/public/public_processor/public_processor.d.ts.map +1 -1
- package/dest/public/public_processor/public_processor.js +477 -70
- 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 +28 -45
- package/dest/public/public_tx_simulator/contract_provider_for_cpp.d.ts +19 -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 +98 -0
- package/dest/public/public_tx_simulator/cpp_public_tx_simulator.d.ts +53 -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 +132 -0
- package/dest/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.d.ts +42 -0
- package/dest/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.d.ts.map +1 -0
- package/dest/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.js +86 -0
- package/dest/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.d.ts +30 -0
- package/dest/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.d.ts.map +1 -0
- package/dest/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.js +171 -0
- package/dest/public/public_tx_simulator/dumping_cpp_public_tx_simulator.d.ts +23 -0
- package/dest/public/public_tx_simulator/dumping_cpp_public_tx_simulator.d.ts.map +1 -0
- package/dest/public/public_tx_simulator/dumping_cpp_public_tx_simulator.js +52 -0
- package/dest/public/public_tx_simulator/factories.d.ts +14 -0
- package/dest/public/public_tx_simulator/factories.d.ts.map +1 -0
- package/dest/public/public_tx_simulator/factories.js +28 -0
- package/dest/public/public_tx_simulator/index.d.ts +6 -1
- package/dest/public/public_tx_simulator/index.d.ts.map +1 -1
- package/dest/public/public_tx_simulator/index.js +3 -0
- package/dest/public/public_tx_simulator/measured_public_tx_simulator.d.ts +16 -8
- package/dest/public/public_tx_simulator/measured_public_tx_simulator.d.ts.map +1 -1
- package/dest/public/public_tx_simulator/measured_public_tx_simulator.js +7 -8
- package/dest/public/public_tx_simulator/public_tx_context.d.ts +11 -5
- package/dest/public/public_tx_simulator/public_tx_context.d.ts.map +1 -1
- package/dest/public/public_tx_simulator/public_tx_context.js +26 -14
- package/dest/public/public_tx_simulator/public_tx_simulator.d.ts +26 -31
- package/dest/public/public_tx_simulator/public_tx_simulator.d.ts.map +1 -1
- package/dest/public/public_tx_simulator/public_tx_simulator.js +186 -130
- package/dest/public/public_tx_simulator/public_tx_simulator_interface.d.ts +32 -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 +4 -3
- package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.d.ts.map +1 -1
- package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.js +396 -20
- 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 +15 -8
- package/dest/public/side_effect_trace.d.ts.map +1 -1
- package/dest/public/side_effect_trace.js +38 -23
- package/dest/public/side_effect_trace_interface.d.ts +9 -4
- package/dest/public/side_effect_trace_interface.d.ts.map +1 -1
- package/dest/public/state_manager/index.d.ts +1 -1
- package/dest/public/state_manager/nullifiers.d.ts +2 -5
- package/dest/public/state_manager/nullifiers.d.ts.map +1 -1
- package/dest/public/state_manager/nullifiers.js +1 -6
- package/dest/public/state_manager/public_storage.d.ts +2 -2
- package/dest/public/state_manager/public_storage.d.ts.map +1 -1
- package/dest/public/state_manager/public_storage.js +1 -1
- package/dest/public/state_manager/state_manager.d.ts +22 -13
- package/dest/public/state_manager/state_manager.d.ts.map +1 -1
- package/dest/public/state_manager/state_manager.js +75 -25
- package/dest/public/test_executor_metrics.d.ts +6 -4
- package/dest/public/test_executor_metrics.d.ts.map +1 -1
- package/dest/public/test_executor_metrics.js +7 -6
- 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 +1 -1
- package/dest/server.d.ts +1 -1
- package/dest/testing.d.ts +1 -1
- package/package.json +24 -19
- package/src/common/errors.ts +1 -1
- package/src/private/acvm/acvm.ts +4 -3
- package/src/private/acvm/deserialize.ts +1 -1
- package/src/private/acvm/serialize.ts +1 -1
- package/src/private/acvm_native.ts +29 -16
- package/src/private/acvm_wasm.ts +7 -3
- package/src/private/circuit_recording/circuit_recorder.ts +22 -19
- package/src/private/circuit_recording/file_circuit_recorder.ts +7 -2
- package/src/private/circuit_recording/memory_circuit_recorder.ts +6 -4
- package/src/private/circuit_recording/simulator_recorder_wrapper.ts +1 -1
- package/src/private/factory.ts +7 -4
- package/src/public/avm/avm_context.ts +2 -2
- package/src/public/avm/avm_contract_call_result.ts +8 -6
- package/src/public/avm/avm_execution_environment.ts +13 -7
- package/src/public/avm/avm_gas.ts +5 -5
- package/src/public/avm/avm_machine_state.ts +7 -6
- package/src/public/avm/avm_memory_types.ts +5 -1
- package/src/public/avm/avm_simulator.ts +32 -38
- package/src/public/avm/calldata.ts +100 -0
- package/src/public/avm/errors.ts +24 -27
- package/src/public/avm/fixtures/account_proof.json +553 -0
- package/src/public/avm/fixtures/account_proof_fetcher.ts +166 -0
- package/src/public/avm/fixtures/avm_simulation_tester.ts +22 -6
- package/src/public/avm/fixtures/base_avm_simulation_tester.ts +33 -1
- package/src/public/avm/fixtures/initializers.ts +9 -9
- package/src/public/avm/fixtures/utils.ts +3 -2
- package/src/public/avm/opcodes/accrued_substate.ts +35 -38
- package/src/public/avm/opcodes/addressing_mode.ts +5 -5
- package/src/public/avm/opcodes/arithmetic.ts +14 -2
- package/src/public/avm/opcodes/bitwise.ts +3 -3
- package/src/public/avm/opcodes/comparators.ts +1 -1
- package/src/public/avm/opcodes/contract.ts +4 -7
- package/src/public/avm/opcodes/control_flow.ts +2 -2
- package/src/public/avm/opcodes/conversion.ts +7 -3
- package/src/public/avm/opcodes/ec_add.ts +18 -9
- package/src/public/avm/opcodes/environment_getters.ts +13 -15
- package/src/public/avm/opcodes/external_calls.ts +17 -16
- package/src/public/avm/opcodes/hashing.ts +16 -10
- package/src/public/avm/opcodes/instruction.ts +8 -6
- package/src/public/avm/opcodes/instruction_impl.ts +2 -2
- package/src/public/avm/opcodes/memory.ts +20 -20
- package/src/public/avm/opcodes/misc.ts +43 -9
- package/src/public/avm/opcodes/storage.ts +30 -22
- package/src/public/avm/revert_reason.ts +6 -3
- package/src/public/avm/serialization/bytecode_serialization.ts +19 -8
- package/src/public/avm/serialization/instruction_serialization.ts +14 -2
- package/src/public/avm/test_utils.ts +7 -15
- package/src/public/contracts_db_checkpoint.ts +41 -0
- package/src/public/db_interfaces.ts +16 -1
- package/src/public/debug_fn_name.ts +39 -5
- package/src/public/executor_metrics.ts +11 -34
- package/src/public/executor_metrics_interface.ts +2 -1
- package/src/public/fixtures/amm_test.ts +4 -4
- package/src/public/fixtures/bulk_test.ts +46 -28
- package/src/public/fixtures/custom_bytecode_tester.ts +83 -0
- package/src/public/fixtures/custom_bytecode_tests.ts +228 -0
- package/src/public/fixtures/index.ts +8 -1
- package/src/public/fixtures/minimal_public_tx.ts +11 -44
- package/src/public/fixtures/opcode_spammer.ts +1717 -0
- package/src/public/fixtures/public_tx_simulation_tester.ts +90 -22
- package/src/public/fixtures/simple_contract_data_source.ts +8 -9
- package/src/public/fixtures/token_test.ts +18 -10
- package/src/public/fixtures/utils.ts +9 -10
- package/src/public/fuzzing/avm_fuzzer_simulator.ts +288 -0
- package/src/public/fuzzing/avm_simulator_bin.ts +175 -0
- package/src/public/hinting_db_sources.ts +117 -10
- package/src/public/index.ts +8 -1
- package/src/public/public_db_sources.ts +126 -179
- package/src/public/public_errors.ts +14 -0
- package/src/public/public_processor/guarded_merkle_tree.ts +10 -1
- package/src/public/public_processor/public_processor.ts +123 -79
- package/src/public/public_processor/public_processor_metrics.ts +16 -44
- package/src/public/public_tx_simulator/contract_provider_for_cpp.ts +124 -0
- package/src/public/public_tx_simulator/cpp_public_tx_simulator.ts +211 -0
- package/src/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.ts +134 -0
- package/src/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.ts +239 -0
- package/src/public/public_tx_simulator/dumping_cpp_public_tx_simulator.ts +83 -0
- package/src/public/public_tx_simulator/factories.ts +43 -0
- package/src/public/public_tx_simulator/index.ts +5 -0
- package/src/public/public_tx_simulator/measured_public_tx_simulator.ts +13 -14
- package/src/public/public_tx_simulator/public_tx_context.ts +33 -13
- package/src/public/public_tx_simulator/public_tx_simulator.ts +281 -184
- package/src/public/public_tx_simulator/public_tx_simulator_interface.ts +33 -0
- package/src/public/public_tx_simulator/telemetry_public_tx_simulator.ts +4 -13
- package/src/public/side_effect_errors.ts +91 -1
- package/src/public/side_effect_trace.ts +53 -25
- package/src/public/side_effect_trace_interface.ts +7 -1
- package/src/public/state_manager/nullifiers.ts +2 -8
- package/src/public/state_manager/public_storage.ts +1 -1
- package/src/public/state_manager/state_manager.ts +107 -50
- package/src/public/test_executor_metrics.ts +10 -8
- 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/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/src/public/bytecode_errors.ts +0 -6
- package/src/public/tx_contract_cache.ts +0 -69
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { LoggerBindings } from '@aztec/foundation/log';
|
|
2
|
+
import { PublicSimulatorConfig } from '@aztec/stdlib/avm';
|
|
3
|
+
import type { MerkleTreeWriteOperations } from '@aztec/stdlib/trees';
|
|
4
|
+
import type { GlobalVariables } from '@aztec/stdlib/tx';
|
|
5
|
+
import type { TelemetryClient } from '@aztec/telemetry-client';
|
|
6
|
+
|
|
7
|
+
import type { PublicContractsDB } from '../public_db_sources.js';
|
|
8
|
+
import { TelemetryCppPublicTxSimulator } from './cpp_public_tx_simulator.js';
|
|
9
|
+
import { DumpingCppPublicTxSimulator } from './dumping_cpp_public_tx_simulator.js';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Creates a public tx simulator for block building.
|
|
13
|
+
* Uses DumpingCppPublicTxSimulator if DUMP_AVM_INPUTS_TO_DIR env var is set (for CI/testing avm circuit),
|
|
14
|
+
* otherwise uses TelemetryCppPublicTxSimulator (for production).
|
|
15
|
+
*/
|
|
16
|
+
export function createPublicTxSimulatorForBlockBuilding(
|
|
17
|
+
merkleTree: MerkleTreeWriteOperations,
|
|
18
|
+
contractsDB: PublicContractsDB,
|
|
19
|
+
globalVariables: GlobalVariables,
|
|
20
|
+
telemetryClient: TelemetryClient,
|
|
21
|
+
bindings?: LoggerBindings,
|
|
22
|
+
) {
|
|
23
|
+
const config = PublicSimulatorConfig.from({
|
|
24
|
+
skipFeeEnforcement: false,
|
|
25
|
+
collectDebugLogs: false,
|
|
26
|
+
collectHints: false,
|
|
27
|
+
collectPublicInputs: false,
|
|
28
|
+
collectStatistics: false,
|
|
29
|
+
collectCallMetadata: false,
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
const dumpDir = process.env.DUMP_AVM_INPUTS_TO_DIR;
|
|
33
|
+
if (dumpDir) {
|
|
34
|
+
// must collect hints and PIs for dumping
|
|
35
|
+
const dumpingConfig = {
|
|
36
|
+
...config,
|
|
37
|
+
collectHints: true,
|
|
38
|
+
collectPublicInputs: true,
|
|
39
|
+
};
|
|
40
|
+
return new DumpingCppPublicTxSimulator(merkleTree, contractsDB, globalVariables, dumpingConfig, dumpDir, bindings);
|
|
41
|
+
}
|
|
42
|
+
return new TelemetryCppPublicTxSimulator(merkleTree, contractsDB, globalVariables, telemetryClient, config, bindings);
|
|
43
|
+
}
|
|
@@ -1,2 +1,7 @@
|
|
|
1
1
|
export * from './public_tx_simulator.js';
|
|
2
|
+
export { CppPublicTxSimulator, TelemetryCppPublicTxSimulator } from './cpp_public_tx_simulator.js';
|
|
3
|
+
export { DumpingCppPublicTxSimulator } from './dumping_cpp_public_tx_simulator.js';
|
|
4
|
+
export { createPublicTxSimulatorForBlockBuilding } from './factories.js';
|
|
5
|
+
export type { PublicTxSimulatorInterface } from './public_tx_simulator_interface.js';
|
|
2
6
|
export { TelemetryPublicTxSimulator } from './telemetry_public_tx_simulator.js';
|
|
7
|
+
export type { PublicTxResult, PublicSimulatorConfig as PublicTxSimulatorConfig } from '@aztec/stdlib/avm';
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import type { Fr } from '@aztec/foundation/
|
|
1
|
+
import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
2
|
import { Timer } from '@aztec/foundation/timer';
|
|
3
|
+
import type { PublicSimulatorConfig, PublicTxResult } from '@aztec/stdlib/avm';
|
|
3
4
|
import type { Gas } from '@aztec/stdlib/gas';
|
|
4
5
|
import type { AvmSimulationStats } from '@aztec/stdlib/stats';
|
|
5
6
|
import type { MerkleTreeWriteOperations } from '@aztec/stdlib/trees';
|
|
@@ -10,22 +11,21 @@ import type { ExecutorMetricsInterface } from '../executor_metrics_interface.js'
|
|
|
10
11
|
import type { PublicContractsDB } from '../public_db_sources.js';
|
|
11
12
|
import type { PublicPersistableStateManager } from '../state_manager/state_manager.js';
|
|
12
13
|
import { PublicTxContext } from './public_tx_context.js';
|
|
13
|
-
import {
|
|
14
|
+
import { PublicTxSimulator } from './public_tx_simulator.js';
|
|
15
|
+
import type { MeasuredPublicTxSimulatorInterface } from './public_tx_simulator_interface.js';
|
|
14
16
|
|
|
15
17
|
/**
|
|
16
18
|
* A public tx simulator that tracks miscellaneous simulation metrics without telemetry.
|
|
17
19
|
*/
|
|
18
|
-
export class MeasuredPublicTxSimulator extends PublicTxSimulator {
|
|
20
|
+
export class MeasuredPublicTxSimulator extends PublicTxSimulator implements MeasuredPublicTxSimulatorInterface {
|
|
19
21
|
constructor(
|
|
20
22
|
merkleTree: MerkleTreeWriteOperations,
|
|
21
23
|
contractsDB: PublicContractsDB,
|
|
22
24
|
globalVariables: GlobalVariables,
|
|
23
|
-
doMerkleOperations: boolean = false,
|
|
24
|
-
skipFeeEnforcement: boolean = false,
|
|
25
|
-
clientInitiatedSimulation: boolean = false,
|
|
26
25
|
protected readonly metrics: ExecutorMetricsInterface,
|
|
26
|
+
config?: Partial<PublicSimulatorConfig>,
|
|
27
27
|
) {
|
|
28
|
-
super(merkleTree, contractsDB, globalVariables,
|
|
28
|
+
super(merkleTree, contractsDB, globalVariables, config);
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
public override async simulate(tx: Tx, txLabel: string = 'unlabeledTx'): Promise<PublicTxResult> {
|
|
@@ -34,25 +34,24 @@ export class MeasuredPublicTxSimulator extends PublicTxSimulator {
|
|
|
34
34
|
try {
|
|
35
35
|
avmResult = await super.simulate(tx);
|
|
36
36
|
} finally {
|
|
37
|
-
this.metrics.stopRecordingTxSimulation(txLabel, avmResult?.revertCode);
|
|
37
|
+
this.metrics.stopRecordingTxSimulation(txLabel, avmResult?.gasUsed, avmResult?.revertCode);
|
|
38
38
|
}
|
|
39
39
|
return avmResult;
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
-
protected override async insertNonRevertiblesFromPrivate(context: PublicTxContext
|
|
42
|
+
protected override async insertNonRevertiblesFromPrivate(context: PublicTxContext) {
|
|
43
43
|
const timer = new Timer();
|
|
44
|
-
await super.insertNonRevertiblesFromPrivate(context
|
|
44
|
+
await super.insertNonRevertiblesFromPrivate(context);
|
|
45
45
|
this.metrics.recordPrivateEffectsInsertion(timer.us(), 'non-revertible');
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
-
protected override async insertRevertiblesFromPrivate(context: PublicTxContext
|
|
48
|
+
protected override async insertRevertiblesFromPrivate(context: PublicTxContext) {
|
|
49
49
|
const timer = new Timer();
|
|
50
|
-
|
|
50
|
+
await super.insertRevertiblesFromPrivate(context);
|
|
51
51
|
this.metrics.recordPrivateEffectsInsertion(timer.us(), 'revertible');
|
|
52
|
-
return result;
|
|
53
52
|
}
|
|
54
53
|
|
|
55
|
-
protected override async simulatePhase(phase: TxExecutionPhase, context: PublicTxContext)
|
|
54
|
+
protected override async simulatePhase(phase: TxExecutionPhase, context: PublicTxContext) {
|
|
56
55
|
const timer = new Timer();
|
|
57
56
|
const result = await super.simulatePhase(phase, context);
|
|
58
57
|
result.durationMs = timer.ms();
|
|
@@ -3,12 +3,11 @@ import {
|
|
|
3
3
|
MAX_L2_TO_L1_MSGS_PER_TX,
|
|
4
4
|
MAX_NOTE_HASHES_PER_TX,
|
|
5
5
|
MAX_NULLIFIERS_PER_TX,
|
|
6
|
-
MAX_PUBLIC_LOGS_PER_TX,
|
|
7
6
|
MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX,
|
|
8
7
|
} from '@aztec/constants';
|
|
9
8
|
import { padArrayEnd } from '@aztec/foundation/collection';
|
|
10
|
-
import { Fr } from '@aztec/foundation/
|
|
11
|
-
import { type Logger, createLogger } from '@aztec/foundation/log';
|
|
9
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
10
|
+
import { type Logger, type LoggerBindings, createLogger } from '@aztec/foundation/log';
|
|
12
11
|
import {
|
|
13
12
|
AvmAccumulatedData,
|
|
14
13
|
AvmAccumulatedDataArrayLengths,
|
|
@@ -17,6 +16,7 @@ import {
|
|
|
17
16
|
RevertCode,
|
|
18
17
|
} from '@aztec/stdlib/avm';
|
|
19
18
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
19
|
+
import { AllContractDeploymentData, type ContractDeploymentData } from '@aztec/stdlib/contract';
|
|
20
20
|
import type { SimulationError } from '@aztec/stdlib/errors';
|
|
21
21
|
import { computeEffectiveGasFees, computeTransactionFee } from '@aztec/stdlib/fees';
|
|
22
22
|
import { Gas, GasSettings } from '@aztec/stdlib/gas';
|
|
@@ -28,11 +28,12 @@ import {
|
|
|
28
28
|
PublicCallRequestArrayLengths,
|
|
29
29
|
countAccumulatedItems,
|
|
30
30
|
} from '@aztec/stdlib/kernel';
|
|
31
|
-
import {
|
|
31
|
+
import { FlatPublicLogs } from '@aztec/stdlib/logs';
|
|
32
32
|
import { ScopedL2ToL1Message } from '@aztec/stdlib/messaging';
|
|
33
33
|
import { MerkleTreeId } from '@aztec/stdlib/trees';
|
|
34
34
|
import {
|
|
35
35
|
type GlobalVariables,
|
|
36
|
+
ProtocolContracts,
|
|
36
37
|
PublicCallRequestWithCalldata,
|
|
37
38
|
TreeSnapshots,
|
|
38
39
|
type Tx,
|
|
@@ -71,6 +72,8 @@ export class PublicTxContext {
|
|
|
71
72
|
public readonly state: PhaseStateManager,
|
|
72
73
|
private readonly startTreeSnapshots: TreeSnapshots,
|
|
73
74
|
private readonly globalVariables: GlobalVariables,
|
|
75
|
+
private readonly protocolContracts: ProtocolContracts,
|
|
76
|
+
private readonly proverId: Fr,
|
|
74
77
|
private readonly gasSettings: GasSettings,
|
|
75
78
|
private readonly gasUsedByPrivate: Gas,
|
|
76
79
|
private readonly gasAllocatedToPublic: Gas,
|
|
@@ -78,12 +81,15 @@ export class PublicTxContext {
|
|
|
78
81
|
private readonly setupCallRequests: PublicCallRequestWithCalldata[],
|
|
79
82
|
private readonly appLogicCallRequests: PublicCallRequestWithCalldata[],
|
|
80
83
|
private readonly teardownCallRequests: PublicCallRequestWithCalldata[],
|
|
84
|
+
public readonly nonRevertibleContractDeploymentData: ContractDeploymentData,
|
|
85
|
+
public readonly revertibleContractDeploymentData: ContractDeploymentData,
|
|
81
86
|
public readonly nonRevertibleAccumulatedDataFromPrivate: PrivateToPublicAccumulatedData,
|
|
82
87
|
public readonly revertibleAccumulatedDataFromPrivate: PrivateToPublicAccumulatedData,
|
|
83
88
|
public readonly feePayer: AztecAddress,
|
|
84
89
|
private readonly trace: SideEffectTrace,
|
|
90
|
+
bindings?: LoggerBindings,
|
|
85
91
|
) {
|
|
86
|
-
this.log = createLogger(`simulator:public_tx_context
|
|
92
|
+
this.log = createLogger(`simulator:public_tx_context`, bindings);
|
|
87
93
|
}
|
|
88
94
|
|
|
89
95
|
public static async create(
|
|
@@ -91,11 +97,16 @@ export class PublicTxContext {
|
|
|
91
97
|
contractsDB: PublicContractsDBInterface,
|
|
92
98
|
tx: Tx,
|
|
93
99
|
globalVariables: GlobalVariables,
|
|
94
|
-
|
|
100
|
+
protocolContracts: ProtocolContracts,
|
|
101
|
+
proverId: Fr,
|
|
102
|
+
bindings?: LoggerBindings,
|
|
95
103
|
) {
|
|
104
|
+
const contractDeploymentData = AllContractDeploymentData.fromTx(tx);
|
|
105
|
+
const nonRevertibleContractDeploymentData = contractDeploymentData.getNonRevertibleContractDeploymentData();
|
|
106
|
+
const revertibleContractDeploymentData = contractDeploymentData.getRevertibleContractDeploymentData();
|
|
96
107
|
const nonRevertibleAccumulatedDataFromPrivate = tx.data.forPublic!.nonRevertibleAccumulatedData;
|
|
97
108
|
|
|
98
|
-
const trace = new SideEffectTrace();
|
|
109
|
+
const trace = new SideEffectTrace(0, bindings);
|
|
99
110
|
|
|
100
111
|
const firstNullifier = nonRevertibleAccumulatedDataFromPrivate.nullifiers[0];
|
|
101
112
|
|
|
@@ -104,9 +115,9 @@ export class PublicTxContext {
|
|
|
104
115
|
treesDB,
|
|
105
116
|
contractsDB,
|
|
106
117
|
trace,
|
|
107
|
-
doMerkleOperations,
|
|
108
118
|
firstNullifier,
|
|
109
119
|
globalVariables.timestamp,
|
|
120
|
+
bindings,
|
|
110
121
|
);
|
|
111
122
|
|
|
112
123
|
const gasSettings = tx.data.constants.txContext.gasSettings;
|
|
@@ -116,9 +127,11 @@ export class PublicTxContext {
|
|
|
116
127
|
|
|
117
128
|
return new PublicTxContext(
|
|
118
129
|
tx.getTxHash(),
|
|
119
|
-
new PhaseStateManager(txStateManager),
|
|
130
|
+
new PhaseStateManager(txStateManager, bindings),
|
|
120
131
|
await txStateManager.getTreeSnapshots(),
|
|
121
132
|
globalVariables,
|
|
133
|
+
protocolContracts,
|
|
134
|
+
proverId,
|
|
122
135
|
gasSettings,
|
|
123
136
|
gasUsedByPrivate,
|
|
124
137
|
gasAllocatedToPublic,
|
|
@@ -126,10 +139,13 @@ export class PublicTxContext {
|
|
|
126
139
|
getCallRequestsWithCalldataByPhase(tx, TxExecutionPhase.SETUP),
|
|
127
140
|
getCallRequestsWithCalldataByPhase(tx, TxExecutionPhase.APP_LOGIC),
|
|
128
141
|
getCallRequestsWithCalldataByPhase(tx, TxExecutionPhase.TEARDOWN),
|
|
142
|
+
nonRevertibleContractDeploymentData,
|
|
143
|
+
revertibleContractDeploymentData,
|
|
129
144
|
tx.data.forPublic!.nonRevertibleAccumulatedData,
|
|
130
145
|
tx.data.forPublic!.revertibleAccumulatedData,
|
|
131
146
|
tx.data.feePayer,
|
|
132
147
|
trace,
|
|
148
|
+
bindings,
|
|
133
149
|
);
|
|
134
150
|
}
|
|
135
151
|
|
|
@@ -331,7 +347,6 @@ export class PublicTxContext {
|
|
|
331
347
|
avmNoteHashes.length,
|
|
332
348
|
avmNullifiers.length,
|
|
333
349
|
avmL2ToL1Msgs.length,
|
|
334
|
-
finalPublicLogs.length,
|
|
335
350
|
finalPublicDataWrites.length,
|
|
336
351
|
);
|
|
337
352
|
|
|
@@ -347,7 +362,7 @@ export class PublicTxContext {
|
|
|
347
362
|
MAX_NULLIFIERS_PER_TX,
|
|
348
363
|
),
|
|
349
364
|
/*l2ToL1Msgs=*/ padArrayEnd(avmL2ToL1Msgs, ScopedL2ToL1Message.empty(), MAX_L2_TO_L1_MSGS_PER_TX),
|
|
350
|
-
/*publicLogs=*/
|
|
365
|
+
/*publicLogs=*/ FlatPublicLogs.fromLogs(finalPublicLogs),
|
|
351
366
|
/*publicDataWrites=*/ padArrayEnd(
|
|
352
367
|
finalPublicDataWrites,
|
|
353
368
|
PublicDataWrite.empty(),
|
|
@@ -376,11 +391,13 @@ export class PublicTxContext {
|
|
|
376
391
|
|
|
377
392
|
return new AvmCircuitPublicInputs(
|
|
378
393
|
this.globalVariables,
|
|
394
|
+
this.protocolContracts,
|
|
379
395
|
this.startTreeSnapshots,
|
|
380
396
|
/*startGasUsed=*/ this.gasUsedByPrivate,
|
|
381
397
|
this.gasSettings,
|
|
382
398
|
computeEffectiveGasFees(this.globalVariables.gasFees, this.gasSettings),
|
|
383
399
|
this.feePayer,
|
|
400
|
+
this.proverId,
|
|
384
401
|
/*publicCallRequestArrayLengths=*/ new PublicCallRequestArrayLengths(
|
|
385
402
|
this.setupCallRequests.length,
|
|
386
403
|
this.appLogicCallRequests.length,
|
|
@@ -428,8 +445,11 @@ class PhaseStateManager {
|
|
|
428
445
|
|
|
429
446
|
private currentlyActiveStateManager: PublicPersistableStateManager | undefined;
|
|
430
447
|
|
|
431
|
-
constructor(
|
|
432
|
-
|
|
448
|
+
constructor(
|
|
449
|
+
private readonly txStateManager: PublicPersistableStateManager,
|
|
450
|
+
bindings?: LoggerBindings,
|
|
451
|
+
) {
|
|
452
|
+
this.log = createLogger(`simulator:public_phase_state_manager`, bindings);
|
|
433
453
|
}
|
|
434
454
|
|
|
435
455
|
async fork() {
|