@aztec/simulator 0.0.1-commit.d3ec352c → 0.0.1-commit.d58ff9d0
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 -3
- package/dest/client.d.ts.map +1 -1
- package/dest/client.js +0 -2
- package/dest/common/errors.d.ts +8 -2
- package/dest/common/errors.d.ts.map +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/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/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 +5 -3
- package/dest/private/acvm_native.d.ts.map +1 -1
- package/dest/private/acvm_native.js +8 -6
- 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 +7 -5
- package/dest/private/circuit_recording/circuit_recorder.d.ts +39 -25
- package/dest/private/circuit_recording/circuit_recorder.d.ts.map +1 -1
- package/dest/private/circuit_recording/circuit_recorder.js +71 -72
- package/dest/private/circuit_recording/file_circuit_recorder.d.ts +9 -20
- package/dest/private/circuit_recording/file_circuit_recorder.d.ts.map +1 -1
- package/dest/private/circuit_recording/file_circuit_recorder.js +39 -43
- 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 +1 -1
- package/dest/private/circuit_recording/simulator_recorder_wrapper.d.ts.map +1 -1
- package/dest/private/circuit_recording/simulator_recorder_wrapper.js +11 -14
- 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/testing/account_proof_fetcher.d.ts +2 -0
- package/dest/public/avm/testing/account_proof_fetcher.d.ts.map +1 -0
- package/dest/public/avm/testing/account_proof_fetcher.js +152 -0
- package/dest/public/avm/{fixtures → testing}/base_avm_simulation_tester.d.ts +3 -2
- package/dest/public/avm/testing/base_avm_simulation_tester.d.ts.map +1 -0
- package/dest/public/avm/{fixtures → testing}/base_avm_simulation_tester.js +19 -4
- package/dest/public/avm/testing/utils.d.ts +32 -0
- package/dest/public/avm/testing/utils.d.ts.map +1 -0
- package/dest/public/avm/{fixtures → testing}/utils.js +5 -35
- package/dest/public/avm_simulator.d.ts +28 -0
- package/dest/public/avm_simulator.d.ts.map +1 -0
- package/dest/public/avm_simulator.js +4 -0
- package/dest/public/avm_simulator_pool.d.ts +45 -0
- package/dest/public/avm_simulator_pool.d.ts.map +1 -0
- package/dest/public/avm_simulator_pool.js +197 -0
- package/dest/public/cdb/generated/api_types.d.ts +171 -0
- package/dest/public/cdb/generated/api_types.d.ts.map +1 -0
- package/dest/public/cdb/generated/api_types.js +314 -0
- package/dest/public/cdb/generated/server.d.ts +26 -0
- package/dest/public/cdb/generated/server.d.ts.map +1 -0
- package/dest/public/cdb/generated/server.js +135 -0
- package/dest/public/cdb_ipc_server.d.ts +33 -0
- package/dest/public/cdb_ipc_server.d.ts.map +1 -0
- package/dest/public/cdb_ipc_server.js +153 -0
- package/dest/public/contracts_db_checkpoint.d.ts +3 -3
- package/dest/public/contracts_db_checkpoint.d.ts.map +1 -1
- package/dest/public/contracts_db_checkpoint.js +1 -1
- package/dest/public/db_interfaces.d.ts +2 -2
- package/dest/public/db_interfaces.d.ts.map +1 -1
- package/dest/public/executor_metrics.d.ts +1 -1
- package/dest/public/executor_metrics.d.ts.map +1 -1
- package/dest/public/executor_metrics.js +12 -33
- package/dest/public/fixtures/amm_test.js +6 -6
- 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 +38 -75
- package/dest/public/fixtures/custom_bytecode_tester.d.ts +28 -6
- package/dest/public/fixtures/custom_bytecode_tester.d.ts.map +1 -1
- package/dest/public/fixtures/custom_bytecode_tester.js +36 -12
- package/dest/public/fixtures/index.d.ts +3 -3
- package/dest/public/fixtures/index.d.ts.map +1 -1
- package/dest/public/fixtures/index.js +2 -2
- package/dest/public/fixtures/public_processor_test_env.d.ts +30 -0
- package/dest/public/fixtures/public_processor_test_env.d.ts.map +1 -0
- package/dest/public/fixtures/public_processor_test_env.js +73 -0
- package/dest/public/fixtures/public_tx_simulation_tester.d.ts +24 -6
- package/dest/public/fixtures/public_tx_simulation_tester.d.ts.map +1 -1
- package/dest/public/fixtures/public_tx_simulation_tester.js +66 -21
- package/dest/public/fixtures/simple_contract_data_source.d.ts +2 -2
- package/dest/public/fixtures/simple_contract_data_source.d.ts.map +1 -1
- package/dest/public/fixtures/simple_contract_data_source.js +1 -1
- package/dest/public/fixtures/token_test.js +4 -4
- package/dest/public/fixtures/utils.d.ts +3 -3
- package/dest/public/fixtures/utils.d.ts.map +1 -1
- package/dest/public/fixtures/utils.js +25 -23
- package/dest/public/fuzzing/avm_fuzzer_simulator.d.ts +67 -0
- package/dest/public/fuzzing/avm_fuzzer_simulator.d.ts.map +1 -0
- package/dest/public/fuzzing/avm_fuzzer_simulator.js +185 -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/index.d.ts +5 -2
- package/dest/public/index.d.ts.map +1 -1
- package/dest/public/index.js +2 -1
- package/dest/public/public_db_sources.d.ts +10 -6
- package/dest/public/public_db_sources.d.ts.map +1 -1
- package/dest/public/public_db_sources.js +21 -15
- package/dest/public/public_processor/guarded_merkle_tree.d.ts +8 -6
- package/dest/public/public_processor/guarded_merkle_tree.d.ts.map +1 -1
- package/dest/public/public_processor/guarded_merkle_tree.js +12 -4
- package/dest/public/public_processor/public_processor.d.ts +17 -8
- package/dest/public/public_processor/public_processor.d.ts.map +1 -1
- package/dest/public/public_processor/public_processor.js +535 -100
- package/dest/public/public_processor/public_processor_metrics.d.ts +5 -2
- package/dest/public/public_processor/public_processor_metrics.d.ts.map +1 -1
- package/dest/public/public_processor/public_processor_metrics.js +36 -45
- package/dest/public/public_tx_simulator/dumping_public_tx_simulator.d.ts +17 -0
- package/dest/public/public_tx_simulator/dumping_public_tx_simulator.d.ts.map +1 -0
- package/dest/public/public_tx_simulator/dumping_public_tx_simulator.js +39 -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 +5 -5
- package/dest/public/public_tx_simulator/index.d.ts.map +1 -1
- package/dest/public/public_tx_simulator/index.js +3 -3
- package/dest/public/public_tx_simulator/public_tx_simulator.d.ts +43 -70
- package/dest/public/public_tx_simulator/public_tx_simulator.d.ts.map +1 -1
- package/dest/public/public_tx_simulator/public_tx_simulator.js +99 -312
- package/dest/public/public_tx_simulator/public_tx_simulator_base.d.ts +24 -0
- package/dest/public/public_tx_simulator/public_tx_simulator_base.d.ts.map +1 -0
- package/dest/public/public_tx_simulator/public_tx_simulator_base.js +31 -0
- package/dest/public/public_tx_simulator/public_tx_simulator_interface.d.ts +24 -1
- package/dest/public/public_tx_simulator/public_tx_simulator_interface.d.ts.map +1 -1
- package/dest/public/test_executor_metrics.d.ts +3 -2
- package/dest/public/test_executor_metrics.d.ts.map +1 -1
- package/dest/public/test_executor_metrics.js +2 -2
- package/package.json +23 -20
- package/src/client.ts +0 -2
- 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 +11 -5
- package/src/private/acvm_wasm.ts +11 -4
- package/src/private/circuit_recording/circuit_recorder.ts +90 -81
- package/src/private/circuit_recording/file_circuit_recorder.ts +45 -50
- package/src/private/circuit_recording/memory_circuit_recorder.ts +6 -4
- package/src/private/circuit_recording/simulator_recorder_wrapper.ts +9 -15
- package/src/private/factory.ts +7 -4
- package/src/public/avm/testing/account_proof.json +553 -0
- package/src/public/avm/testing/account_proof_fetcher.ts +166 -0
- package/src/public/avm/{fixtures → testing}/base_avm_simulation_tester.ts +24 -4
- package/src/public/avm/{fixtures → testing}/utils.ts +5 -41
- package/src/public/avm_simulator.ts +29 -0
- package/src/public/avm_simulator_pool.ts +226 -0
- package/src/public/cdb/generated/api_types.ts +457 -0
- package/src/public/cdb/generated/server.ts +109 -0
- package/src/public/cdb_ipc_server.ts +197 -0
- package/src/public/contracts_db_checkpoint.ts +2 -2
- package/src/public/db_interfaces.ts +1 -1
- package/src/public/executor_metrics.ts +9 -33
- package/src/public/fixtures/amm_test.ts +6 -6
- package/src/public/fixtures/bulk_test.ts +40 -15
- package/src/public/fixtures/custom_bytecode_tester.ts +53 -19
- package/src/public/fixtures/index.ts +6 -2
- package/src/public/fixtures/public_processor_test_env.ts +88 -0
- package/src/public/fixtures/public_tx_simulation_tester.ts +82 -21
- package/src/public/fixtures/simple_contract_data_source.ts +2 -2
- package/src/public/fixtures/token_test.ts +4 -4
- package/src/public/fixtures/utils.ts +25 -27
- package/src/public/fuzzing/avm_fuzzer_simulator.ts +303 -0
- package/src/public/fuzzing/avm_simulator_bin.ts +173 -0
- package/src/public/index.ts +8 -2
- package/src/public/public_db_sources.ts +37 -20
- package/src/public/public_processor/guarded_merkle_tree.ts +14 -7
- package/src/public/public_processor/public_processor.ts +188 -102
- package/src/public/public_processor/public_processor_metrics.ts +28 -44
- package/src/public/public_tx_simulator/dumping_public_tx_simulator.ts +67 -0
- package/src/public/public_tx_simulator/factories.ts +61 -0
- package/src/public/public_tx_simulator/index.ts +7 -4
- package/src/public/public_tx_simulator/public_tx_simulator.ts +143 -458
- package/src/public/public_tx_simulator/public_tx_simulator_base.ts +37 -0
- package/src/public/public_tx_simulator/public_tx_simulator_interface.ts +23 -0
- package/src/public/test_executor_metrics.ts +3 -3
- package/dest/public/avm/avm_context.d.ts +0 -41
- package/dest/public/avm/avm_context.d.ts.map +0 -1
- package/dest/public/avm/avm_context.js +0 -44
- package/dest/public/avm/avm_contract_call_result.d.ts +0 -32
- package/dest/public/avm/avm_contract_call_result.d.ts.map +0 -1
- package/dest/public/avm/avm_contract_call_result.js +0 -54
- package/dest/public/avm/avm_execution_environment.d.ts +0 -23
- package/dest/public/avm/avm_execution_environment.d.ts.map +0 -1
- package/dest/public/avm/avm_execution_environment.js +0 -33
- package/dest/public/avm/avm_gas.d.ts +0 -44
- package/dest/public/avm/avm_gas.d.ts.map +0 -1
- package/dest/public/avm/avm_gas.js +0 -195
- package/dest/public/avm/avm_machine_state.d.ts +0 -97
- package/dest/public/avm/avm_machine_state.d.ts.map +0 -1
- package/dest/public/avm/avm_machine_state.js +0 -109
- package/dest/public/avm/avm_memory_types.d.ts +0 -275
- package/dest/public/avm/avm_memory_types.d.ts.map +0 -1
- package/dest/public/avm/avm_memory_types.js +0 -351
- package/dest/public/avm/avm_simulator.d.ts +0 -40
- package/dest/public/avm/avm_simulator.d.ts.map +0 -1
- package/dest/public/avm/avm_simulator.js +0 -191
- package/dest/public/avm/avm_simulator_interface.d.ts +0 -9
- package/dest/public/avm/avm_simulator_interface.d.ts.map +0 -1
- package/dest/public/avm/avm_simulator_interface.js +0 -3
- package/dest/public/avm/errors.d.ts +0 -104
- package/dest/public/avm/errors.d.ts.map +0 -1
- package/dest/public/avm/errors.js +0 -141
- package/dest/public/avm/fixtures/avm_simulation_tester.d.ts +0 -22
- package/dest/public/avm/fixtures/avm_simulation_tester.d.ts.map +0 -1
- package/dest/public/avm/fixtures/avm_simulation_tester.js +0 -83
- package/dest/public/avm/fixtures/base_avm_simulation_tester.d.ts.map +0 -1
- package/dest/public/avm/fixtures/initializers.d.ts +0 -42
- package/dest/public/avm/fixtures/initializers.d.ts.map +0 -1
- package/dest/public/avm/fixtures/initializers.js +0 -44
- package/dest/public/avm/fixtures/utils.d.ts +0 -39
- package/dest/public/avm/fixtures/utils.d.ts.map +0 -1
- package/dest/public/avm/index.d.ts +0 -2
- package/dest/public/avm/index.d.ts.map +0 -1
- package/dest/public/avm/index.js +0 -1
- package/dest/public/avm/opcodes/accrued_substate.d.ts +0 -75
- package/dest/public/avm/opcodes/accrued_substate.d.ts.map +0 -1
- package/dest/public/avm/opcodes/accrued_substate.js +0 -255
- package/dest/public/avm/opcodes/addressing_mode.d.ts +0 -31
- package/dest/public/avm/opcodes/addressing_mode.d.ts.map +0 -1
- package/dest/public/avm/opcodes/addressing_mode.js +0 -94
- package/dest/public/avm/opcodes/arithmetic.d.ts +0 -47
- package/dest/public/avm/opcodes/arithmetic.d.ts.map +0 -1
- package/dest/public/avm/opcodes/arithmetic.js +0 -87
- package/dest/public/avm/opcodes/bitwise.d.ts +0 -42
- package/dest/public/avm/opcodes/bitwise.d.ts.map +0 -1
- package/dest/public/avm/opcodes/bitwise.js +0 -99
- package/dest/public/avm/opcodes/comparators.d.ts +0 -25
- package/dest/public/avm/opcodes/comparators.d.ts.map +0 -1
- package/dest/public/avm/opcodes/comparators.js +0 -43
- package/dest/public/avm/opcodes/contract.d.ts +0 -20
- package/dest/public/avm/opcodes/contract.d.ts.map +0 -1
- package/dest/public/avm/opcodes/contract.js +0 -65
- package/dest/public/avm/opcodes/control_flow.d.ts +0 -41
- package/dest/public/avm/opcodes/control_flow.d.ts.map +0 -1
- package/dest/public/avm/opcodes/control_flow.js +0 -107
- package/dest/public/avm/opcodes/conversion.d.ts +0 -18
- package/dest/public/avm/opcodes/conversion.d.ts.map +0 -1
- package/dest/public/avm/opcodes/conversion.js +0 -333
- package/dest/public/avm/opcodes/ec_add.d.ts +0 -19
- package/dest/public/avm/opcodes/ec_add.d.ts.map +0 -1
- package/dest/public/avm/opcodes/ec_add.js +0 -84
- package/dest/public/avm/opcodes/environment_getters.d.ts +0 -28
- package/dest/public/avm/opcodes/environment_getters.d.ts.map +0 -1
- package/dest/public/avm/opcodes/environment_getters.js +0 -77
- package/dest/public/avm/opcodes/external_calls.d.ts +0 -59
- package/dest/public/avm/opcodes/external_calls.d.ts.map +0 -1
- package/dest/public/avm/opcodes/external_calls.js +0 -209
- package/dest/public/avm/opcodes/hashing.d.ts +0 -36
- package/dest/public/avm/opcodes/hashing.d.ts.map +0 -1
- package/dest/public/avm/opcodes/hashing.js +0 -114
- package/dest/public/avm/opcodes/index.d.ts +0 -16
- package/dest/public/avm/opcodes/index.d.ts.map +0 -1
- package/dest/public/avm/opcodes/index.js +0 -15
- package/dest/public/avm/opcodes/instruction.d.ts +0 -74
- package/dest/public/avm/opcodes/instruction.d.ts.map +0 -1
- package/dest/public/avm/opcodes/instruction.js +0 -95
- package/dest/public/avm/opcodes/instruction_impl.d.ts +0 -19
- package/dest/public/avm/opcodes/instruction_impl.d.ts.map +0 -1
- package/dest/public/avm/opcodes/instruction_impl.js +0 -30
- package/dest/public/avm/opcodes/memory.d.ts +0 -74
- package/dest/public/avm/opcodes/memory.d.ts.map +0 -1
- package/dest/public/avm/opcodes/memory.js +0 -257
- package/dest/public/avm/opcodes/misc.d.ts +0 -18
- package/dest/public/avm/opcodes/misc.d.ts.map +0 -1
- package/dest/public/avm/opcodes/misc.js +0 -73
- package/dest/public/avm/opcodes/storage.d.ts +0 -24
- package/dest/public/avm/opcodes/storage.d.ts.map +0 -1
- package/dest/public/avm/opcodes/storage.js +0 -68
- package/dest/public/avm/revert_reason.d.ts +0 -18
- package/dest/public/avm/revert_reason.d.ts.map +0 -1
- package/dest/public/avm/revert_reason.js +0 -39
- package/dest/public/avm/serialization/buffer_cursor.d.ts +0 -26
- package/dest/public/avm/serialization/buffer_cursor.d.ts.map +0 -1
- package/dest/public/avm/serialization/buffer_cursor.js +0 -99
- package/dest/public/avm/serialization/bytecode_serialization.d.ts +0 -17
- package/dest/public/avm/serialization/bytecode_serialization.d.ts.map +0 -1
- package/dest/public/avm/serialization/bytecode_serialization.js +0 -336
- package/dest/public/avm/serialization/instruction_serialization.d.ts +0 -114
- package/dest/public/avm/serialization/instruction_serialization.d.ts.map +0 -1
- package/dest/public/avm/serialization/instruction_serialization.js +0 -261
- package/dest/public/avm/test_utils.d.ts +0 -15
- package/dest/public/avm/test_utils.d.ts.map +0 -1
- package/dest/public/avm/test_utils.js +0 -44
- package/dest/public/debug_fn_name.d.ts +0 -18
- package/dest/public/debug_fn_name.d.ts.map +0 -1
- package/dest/public/debug_fn_name.js +0 -28
- package/dest/public/fixtures/custom_bytecode_tests.d.ts +0 -9
- package/dest/public/fixtures/custom_bytecode_tests.d.ts.map +0 -1
- package/dest/public/fixtures/custom_bytecode_tests.js +0 -109
- package/dest/public/fixtures/minimal_public_tx.d.ts +0 -9
- package/dest/public/fixtures/minimal_public_tx.d.ts.map +0 -1
- package/dest/public/fixtures/minimal_public_tx.js +0 -29
- package/dest/public/hinting_db_sources.d.ts +0 -79
- package/dest/public/hinting_db_sources.d.ts.map +0 -1
- package/dest/public/hinting_db_sources.js +0 -350
- package/dest/public/public_tx_simulator/contract_provider_for_cpp.d.ts +0 -30
- package/dest/public/public_tx_simulator/contract_provider_for_cpp.d.ts.map +0 -1
- package/dest/public/public_tx_simulator/contract_provider_for_cpp.js +0 -133
- package/dest/public/public_tx_simulator/cpp_public_tx_simulator.d.ts +0 -38
- package/dest/public/public_tx_simulator/cpp_public_tx_simulator.d.ts.map +0 -1
- package/dest/public/public_tx_simulator/cpp_public_tx_simulator.js +0 -93
- package/dest/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.d.ts +0 -42
- package/dest/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.d.ts.map +0 -1
- package/dest/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.js +0 -86
- package/dest/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.d.ts +0 -30
- package/dest/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.d.ts.map +0 -1
- package/dest/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.js +0 -170
- package/dest/public/public_tx_simulator/measured_public_tx_simulator.d.ts +0 -31
- package/dest/public/public_tx_simulator/measured_public_tx_simulator.d.ts.map +0 -1
- package/dest/public/public_tx_simulator/measured_public_tx_simulator.js +0 -51
- package/dest/public/public_tx_simulator/public_tx_context.d.ts +0 -130
- package/dest/public/public_tx_simulator/public_tx_context.d.ts.map +0 -1
- package/dest/public/public_tx_simulator/public_tx_context.js +0 -300
- package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.d.ts +0 -21
- package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.d.ts.map +0 -1
- package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.js +0 -39
- package/dest/public/side_effect_trace.d.ts +0 -86
- package/dest/public/side_effect_trace.d.ts.map +0 -1
- package/dest/public/side_effect_trace.js +0 -199
- package/dest/public/side_effect_trace_interface.d.ts +0 -22
- package/dest/public/side_effect_trace_interface.d.ts.map +0 -1
- package/dest/public/side_effect_trace_interface.js +0 -1
- package/dest/public/state_manager/index.d.ts +0 -2
- package/dest/public/state_manager/index.d.ts.map +0 -1
- package/dest/public/state_manager/index.js +0 -1
- package/dest/public/state_manager/nullifiers.d.ts +0 -61
- package/dest/public/state_manager/nullifiers.d.ts.map +0 -1
- package/dest/public/state_manager/nullifiers.js +0 -92
- package/dest/public/state_manager/public_storage.d.ts +0 -66
- package/dest/public/state_manager/public_storage.d.ts.map +0 -1
- package/dest/public/state_manager/public_storage.js +0 -145
- package/dest/public/state_manager/state_manager.d.ts +0 -164
- package/dest/public/state_manager/state_manager.d.ts.map +0 -1
- package/dest/public/state_manager/state_manager.js +0 -395
- package/src/public/avm/avm_context.ts +0 -61
- package/src/public/avm/avm_contract_call_result.ts +0 -67
- package/src/public/avm/avm_execution_environment.ts +0 -46
- package/src/public/avm/avm_gas.ts +0 -183
- package/src/public/avm/avm_machine_state.ts +0 -169
- package/src/public/avm/avm_memory_types.ts +0 -436
- package/src/public/avm/avm_simulator.ts +0 -276
- package/src/public/avm/avm_simulator_interface.ts +0 -8
- package/src/public/avm/errors.ts +0 -177
- package/src/public/avm/fixtures/avm_simulation_tester.ts +0 -116
- package/src/public/avm/fixtures/initializers.ts +0 -102
- package/src/public/avm/index.ts +0 -1
- package/src/public/avm/opcodes/accrued_substate.ts +0 -288
- package/src/public/avm/opcodes/addressing_mode.ts +0 -111
- package/src/public/avm/opcodes/arithmetic.ts +0 -117
- package/src/public/avm/opcodes/bitwise.ts +0 -113
- package/src/public/avm/opcodes/comparators.ts +0 -55
- package/src/public/avm/opcodes/contract.ts +0 -75
- package/src/public/avm/opcodes/control_flow.ts +0 -123
- package/src/public/avm/opcodes/conversion.ts +0 -104
- package/src/public/avm/opcodes/ec_add.ts +0 -96
- package/src/public/avm/opcodes/environment_getters.ts +0 -87
- package/src/public/avm/opcodes/external_calls.ts +0 -260
- package/src/public/avm/opcodes/hashing.ts +0 -145
- package/src/public/avm/opcodes/index.ts +0 -15
- package/src/public/avm/opcodes/instruction.ts +0 -136
- package/src/public/avm/opcodes/instruction_impl.ts +0 -36
- package/src/public/avm/opcodes/memory.ts +0 -293
- package/src/public/avm/opcodes/misc.ts +0 -102
- package/src/public/avm/opcodes/storage.ts +0 -87
- package/src/public/avm/revert_reason.ts +0 -58
- package/src/public/avm/serialization/buffer_cursor.ts +0 -118
- package/src/public/avm/serialization/bytecode_serialization.ts +0 -215
- package/src/public/avm/serialization/instruction_serialization.ts +0 -249
- package/src/public/avm/test_utils.ts +0 -64
- package/src/public/debug_fn_name.ts +0 -43
- package/src/public/fixtures/custom_bytecode_tests.ts +0 -135
- package/src/public/fixtures/minimal_public_tx.ts +0 -35
- package/src/public/hinting_db_sources.ts +0 -603
- package/src/public/public_tx_simulator/contract_provider_for_cpp.ts +0 -162
- package/src/public/public_tx_simulator/cpp_public_tx_simulator.ts +0 -155
- package/src/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.ts +0 -132
- package/src/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.ts +0 -240
- package/src/public/public_tx_simulator/measured_public_tx_simulator.ts +0 -105
- package/src/public/public_tx_simulator/public_tx_context.ts +0 -477
- package/src/public/public_tx_simulator/telemetry_public_tx_simulator.ts +0 -63
- package/src/public/side_effect_trace.ts +0 -290
- package/src/public/side_effect_trace_interface.ts +0 -28
- package/src/public/state_manager/index.ts +0 -1
- package/src/public/state_manager/nullifiers.ts +0 -103
- package/src/public/state_manager/public_storage.ts +0 -174
- package/src/public/state_manager/state_manager.ts +0 -560
|
@@ -1,29 +1,53 @@
|
|
|
1
1
|
import { FunctionType, emptyContractArtifact, emptyFunctionArtifact } from '@aztec/stdlib/abi';
|
|
2
2
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
5
|
-
* Test custom bytecode (simulation or proving) with the provided bytecode.
|
|
4
|
+
* Deploy a contract with the provided bytecode.
|
|
6
5
|
* @param bytecode - The bytecode buffer to use
|
|
7
|
-
* @param tester - The tester to use
|
|
8
|
-
* @param
|
|
9
|
-
* @param
|
|
10
|
-
|
|
11
|
-
|
|
6
|
+
* @param tester - The tester to use
|
|
7
|
+
* @param contractName - The name of the contract
|
|
8
|
+
* @param deployer - The deployer address
|
|
9
|
+
* @returns The deployed contract instance
|
|
10
|
+
*/ export async function deployCustomBytecode(bytecode, tester, contractName = 'CustomBytecodeContract', deployer = AztecAddress.fromNumberUnsafe(42)) {
|
|
12
11
|
const contractArtifact = emptyContractArtifact();
|
|
13
12
|
contractArtifact.name = contractName;
|
|
14
13
|
contractArtifact.functions = [
|
|
15
14
|
emptyFunctionArtifact()
|
|
16
15
|
];
|
|
16
|
+
// We use name 'public_dispatch' since that is what is expected
|
|
17
|
+
// in a ContractArtifact. But function selectors are not required
|
|
18
|
+
// when executing since the custom bytecode likely has no dispatch.
|
|
17
19
|
contractArtifact.functions[0].name = 'public_dispatch';
|
|
18
20
|
contractArtifact.functions[0].functionType = FunctionType.PUBLIC;
|
|
19
21
|
contractArtifact.functions[0].bytecode = bytecode;
|
|
20
|
-
|
|
22
|
+
// return the contract instance
|
|
23
|
+
return await tester.registerAndDeployContract(/*constructorArgs=*/ [], deployer, /*contractArtifact=*/ contractArtifact);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Execute a custom bytecode contract.
|
|
27
|
+
* @param contract - The contract instance to execute
|
|
28
|
+
* @param tester - The tester to use
|
|
29
|
+
* @param txLabel - The label of the transaction
|
|
30
|
+
* @param calldata - The calldata to use
|
|
31
|
+
* @returns The execution result
|
|
32
|
+
*/ export async function executeCustomBytecode(contract, tester, txLabel = 'CustomBytecodeTest', calldata = []) {
|
|
21
33
|
// EXECUTE! This means that if using AvmProvingTester subclass, it will PROVE the transaction!
|
|
22
|
-
return await tester.executeTxWithLabel(/*txLabel=*/ txLabel, /*sender=*/ deployer, /*setupCalls=*/ [], /*appCalls=*/ [
|
|
34
|
+
return await tester.executeTxWithLabel(/*txLabel=*/ txLabel, /*sender=*/ contract.deployer, /*setupCalls=*/ [], /*appCalls=*/ [
|
|
23
35
|
{
|
|
24
|
-
address:
|
|
25
|
-
|
|
26
|
-
args: []
|
|
36
|
+
address: contract.address,
|
|
37
|
+
args: calldata
|
|
27
38
|
}
|
|
28
39
|
]);
|
|
29
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* Deploy and execute a custom bytecode contract.
|
|
43
|
+
* @param bytecode - The bytecode buffer to use
|
|
44
|
+
* @param tester - The tester to use
|
|
45
|
+
* @param txLabel - The label of the transaction
|
|
46
|
+
* @param contractName - The name of the contract
|
|
47
|
+
* @param deployer - The deployer address
|
|
48
|
+
* @param calldata - The calldata to use
|
|
49
|
+
* @returns The execution result
|
|
50
|
+
*/ export async function deployAndExecuteCustomBytecode(bytecode, tester, txLabel = 'CustomBytecodeTest', contractName = 'CustomBytecodeContract', deployer = AztecAddress.fromNumberUnsafe(42), calldata = []) {
|
|
51
|
+
const testContract = await deployCustomBytecode(bytecode, tester, contractName, deployer);
|
|
52
|
+
return await executeCustomBytecode(testContract, tester, txLabel, calldata);
|
|
53
|
+
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
export * from './public_tx_simulation_tester.js';
|
|
2
|
+
export * from './public_processor_test_env.js';
|
|
2
3
|
export * from './utils.js';
|
|
3
4
|
export * from './simple_contract_data_source.js';
|
|
4
|
-
export { readAvmMinimalPublicTxInputsFromFile, executeAvmMinimalPublicTx } from './minimal_public_tx.js';
|
|
5
5
|
export { TestExecutorMetrics } from '../test_executor_metrics.js';
|
|
6
6
|
export { ammTest } from './amm_test.js';
|
|
7
7
|
export { bulkTest, megaBulkTest } from './bulk_test.js';
|
|
8
8
|
export { tokenTest } from './token_test.js';
|
|
9
|
-
export
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
export { deployCustomBytecode, executeCustomBytecode, deployAndExecuteCustomBytecode, } from './custom_bytecode_tester.js';
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wdWJsaWMvZml4dHVyZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDbEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4QyxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLHFCQUFxQixFQUNyQiw4QkFBOEIsR0FDL0IsTUFBTSw2QkFBNkIsQ0FBQyJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/public/fixtures/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC;AACjD,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/public/fixtures/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC;AACjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,YAAY,CAAC;AAC3B,cAAc,kCAAkC,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,8BAA8B,GAC/B,MAAM,6BAA6B,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
export * from './public_tx_simulation_tester.js';
|
|
2
|
+
export * from './public_processor_test_env.js';
|
|
2
3
|
export * from './utils.js';
|
|
3
4
|
export * from './simple_contract_data_source.js';
|
|
4
|
-
export { readAvmMinimalPublicTxInputsFromFile, executeAvmMinimalPublicTx } from './minimal_public_tx.js';
|
|
5
5
|
export { TestExecutorMetrics } from '../test_executor_metrics.js';
|
|
6
6
|
export { ammTest } from './amm_test.js';
|
|
7
7
|
export { bulkTest, megaBulkTest } from './bulk_test.js';
|
|
8
8
|
export { tokenTest } from './token_test.js';
|
|
9
|
-
export
|
|
9
|
+
export { deployCustomBytecode, executeCustomBytecode, deployAndExecuteCustomBytecode } from './custom_bytecode_tester.js';
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { PublicSimulatorConfig } from '@aztec/stdlib/avm';
|
|
2
|
+
import { GlobalVariables } from '@aztec/stdlib/tx';
|
|
3
|
+
import { PublicContractsDB } from '../public_db_sources.js';
|
|
4
|
+
import { PublicProcessor } from '../public_processor/public_processor.js';
|
|
5
|
+
import { PublicTxSimulationTester } from './public_tx_simulation_tester.js';
|
|
6
|
+
/** Options for {@link PublicProcessorTestEnv.create}. */
|
|
7
|
+
export interface PublicProcessorTestEnvOptions {
|
|
8
|
+
/** Global variables shared by the processor and the tester. Defaults to empty with nonzero gas fees. */
|
|
9
|
+
globals?: GlobalVariables;
|
|
10
|
+
/** Simulator config for the processor's PublicTxSimulator. */
|
|
11
|
+
config?: Partial<PublicSimulatorConfig>;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Bundles the real-AVM wiring shared by public-processor app tests: a live WSDB world state, a CDB IPC
|
|
15
|
+
* server, a spawned AVM simulator, a {@link PublicProcessor} backed by all three, and a setup-only
|
|
16
|
+
* {@link PublicTxSimulationTester} sharing the same fork and contract data source for building txs and
|
|
17
|
+
* seeding balances. Own it with `await using`, or call {@link Symbol.asyncDispose} from `afterEach`.
|
|
18
|
+
*/
|
|
19
|
+
export declare class PublicProcessorTestEnv implements AsyncDisposable {
|
|
20
|
+
readonly processor: PublicProcessor;
|
|
21
|
+
readonly tester: PublicTxSimulationTester;
|
|
22
|
+
readonly contractsDB: PublicContractsDB;
|
|
23
|
+
readonly globals: GlobalVariables;
|
|
24
|
+
private readonly worldStateService;
|
|
25
|
+
private readonly avmSimulator;
|
|
26
|
+
private constructor();
|
|
27
|
+
static create(opts?: PublicProcessorTestEnvOptions): Promise<PublicProcessorTestEnv>;
|
|
28
|
+
[Symbol.asyncDispose](): Promise<void>;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX3Byb2Nlc3Nvcl90ZXN0X2Vudi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3B1YmxpYy9maXh0dXJlcy9wdWJsaWNfcHJvY2Vzc29yX3Rlc3RfZW52LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUtuRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFMUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFHNUUseURBQXlEO0FBQ3pELE1BQU0sV0FBVyw2QkFBNkI7SUFDNUMsd0dBQXdHO0lBQ3hHLE9BQU8sQ0FBQyxFQUFFLGVBQWUsQ0FBQztJQUMxQiw4REFBOEQ7SUFDOUQsTUFBTSxDQUFDLEVBQUUsT0FBTyxDQUFDLHFCQUFxQixDQUFDLENBQUM7Q0FDekM7QUFnQkQ7Ozs7O0dBS0c7QUFDSCxxQkFBYSxzQkFBdUIsWUFBVyxlQUFlO2FBRTFDLFNBQVMsRUFBRSxlQUFlO2FBQzFCLE1BQU0sRUFBRSx3QkFBd0I7YUFDaEMsV0FBVyxFQUFFLGlCQUFpQjthQUM5QixPQUFPLEVBQUUsZUFBZTtJQUN4QyxPQUFPLENBQUMsUUFBUSxDQUFDLGlCQUFpQjtJQUNsQyxPQUFPLENBQUMsUUFBUSxDQUFDLFlBQVk7SUFOL0IsT0FBTyxlQU9IO0lBRUosT0FBYSxNQUFNLENBQUMsSUFBSSxHQUFFLDZCQUFrQyxHQUFHLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxDQTBCN0Y7SUFFSyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBSTNDO0NBQ0YifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public_processor_test_env.d.ts","sourceRoot":"","sources":["../../../src/public/fixtures/public_processor_test_env.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAKnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAE1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAG5E,yDAAyD;AACzD,MAAM,WAAW,6BAA6B;IAC5C,wGAAwG;IACxG,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,8DAA8D;IAC9D,MAAM,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;CACzC;AAgBD;;;;;GAKG;AACH,qBAAa,sBAAuB,YAAW,eAAe;aAE1C,SAAS,EAAE,eAAe;aAC1B,MAAM,EAAE,wBAAwB;aAChC,WAAW,EAAE,iBAAiB;aAC9B,OAAO,EAAE,eAAe;IACxC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAN/B,OAAO,eAOH;IAEJ,OAAa,MAAM,CAAC,IAAI,GAAE,6BAAkC,GAAG,OAAO,CAAC,sBAAsB,CAAC,CA0B7F;IAEK,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAI3C;CACF"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
var _computedKey;
|
|
2
|
+
import { createLogger } from '@aztec/foundation/log';
|
|
3
|
+
import { TestDateProvider } from '@aztec/foundation/timer';
|
|
4
|
+
import { PublicSimulatorConfig } from '@aztec/stdlib/avm';
|
|
5
|
+
import { GasFees } from '@aztec/stdlib/gas';
|
|
6
|
+
import { GlobalVariables } from '@aztec/stdlib/tx';
|
|
7
|
+
import { getTelemetryClient } from '@aztec/telemetry-client';
|
|
8
|
+
import { NativeWorldStateService } from '@aztec/world-state';
|
|
9
|
+
import { AvmSimulatorPool } from '../avm_simulator_pool.js';
|
|
10
|
+
import { PublicContractsDB } from '../public_db_sources.js';
|
|
11
|
+
import { GuardedMerkleTreeOperations } from '../public_processor/guarded_merkle_tree.js';
|
|
12
|
+
import { PublicProcessor } from '../public_processor/public_processor.js';
|
|
13
|
+
import { PublicTxSimulator } from '../public_tx_simulator/public_tx_simulator.js';
|
|
14
|
+
import { PublicTxSimulationTester } from './public_tx_simulation_tester.js';
|
|
15
|
+
import { SimpleContractDataSource } from './simple_contract_data_source.js';
|
|
16
|
+
function defaultGlobals() {
|
|
17
|
+
const globals = GlobalVariables.empty();
|
|
18
|
+
globals.gasFees = new GasFees(2, 3);
|
|
19
|
+
return globals;
|
|
20
|
+
}
|
|
21
|
+
const defaultConfig = PublicSimulatorConfig.from({
|
|
22
|
+
skipFeeEnforcement: false,
|
|
23
|
+
collectDebugLogs: true,
|
|
24
|
+
collectHints: false,
|
|
25
|
+
collectStatistics: false,
|
|
26
|
+
collectCallMetadata: true
|
|
27
|
+
});
|
|
28
|
+
_computedKey = Symbol.asyncDispose;
|
|
29
|
+
/**
|
|
30
|
+
* Bundles the real-AVM wiring shared by public-processor app tests: a live WSDB world state, a CDB IPC
|
|
31
|
+
* server, a spawned AVM simulator, a {@link PublicProcessor} backed by all three, and a setup-only
|
|
32
|
+
* {@link PublicTxSimulationTester} sharing the same fork and contract data source for building txs and
|
|
33
|
+
* seeding balances. Own it with `await using`, or call {@link Symbol.asyncDispose} from `afterEach`.
|
|
34
|
+
*/ export class PublicProcessorTestEnv {
|
|
35
|
+
processor;
|
|
36
|
+
tester;
|
|
37
|
+
contractsDB;
|
|
38
|
+
globals;
|
|
39
|
+
worldStateService;
|
|
40
|
+
avmSimulator;
|
|
41
|
+
constructor(processor, tester, contractsDB, globals, worldStateService, avmSimulator){
|
|
42
|
+
this.processor = processor;
|
|
43
|
+
this.tester = tester;
|
|
44
|
+
this.contractsDB = contractsDB;
|
|
45
|
+
this.globals = globals;
|
|
46
|
+
this.worldStateService = worldStateService;
|
|
47
|
+
this.avmSimulator = avmSimulator;
|
|
48
|
+
}
|
|
49
|
+
static async create(opts = {}) {
|
|
50
|
+
const globals = opts.globals ?? defaultGlobals();
|
|
51
|
+
const config = opts.config ? PublicSimulatorConfig.from({
|
|
52
|
+
...defaultConfig,
|
|
53
|
+
...opts.config
|
|
54
|
+
}) : defaultConfig;
|
|
55
|
+
const contractDataSource = new SimpleContractDataSource();
|
|
56
|
+
const worldStateService = await NativeWorldStateService.tmp();
|
|
57
|
+
const merkleTrees = await worldStateService.fork();
|
|
58
|
+
const contractsDB = new PublicContractsDB(contractDataSource);
|
|
59
|
+
const forkId = merkleTrees.getRevision().forkId;
|
|
60
|
+
const avmSimulator = await AvmSimulatorPool.spawn({
|
|
61
|
+
wsdbIpcPath: worldStateService.getIpcPath()
|
|
62
|
+
});
|
|
63
|
+
const simulator = new PublicTxSimulator(avmSimulator, globals, contractsDB, forkId, config, undefined);
|
|
64
|
+
const processor = new PublicProcessor(globals, new GuardedMerkleTreeOperations(merkleTrees), contractsDB, simulator, new TestDateProvider(), getTelemetryClient(), createLogger('simulator:public-processor'));
|
|
65
|
+
const tester = new PublicTxSimulationTester(merkleTrees, contractDataSource, globals);
|
|
66
|
+
return new PublicProcessorTestEnv(processor, tester, contractsDB, globals, worldStateService, avmSimulator);
|
|
67
|
+
}
|
|
68
|
+
async [_computedKey]() {
|
|
69
|
+
await this.avmSimulator[Symbol.asyncDispose]();
|
|
70
|
+
await this.tester.close();
|
|
71
|
+
await this.worldStateService.close();
|
|
72
|
+
}
|
|
73
|
+
}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { type ContractArtifact } from '@aztec/stdlib/abi';
|
|
2
2
|
import { PublicSimulatorConfig, type PublicTxResult } from '@aztec/stdlib/avm';
|
|
3
3
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
4
|
+
import { Gas } from '@aztec/stdlib/gas';
|
|
4
5
|
import type { MerkleTreeWriteOperations } from '@aztec/stdlib/interfaces/server';
|
|
5
6
|
import { GlobalVariables, type Tx } from '@aztec/stdlib/tx';
|
|
6
7
|
import { NativeWorldStateService } from '@aztec/world-state';
|
|
7
|
-
import { BaseAvmSimulationTester } from '../avm/
|
|
8
|
+
import { BaseAvmSimulationTester } from '../avm/testing/base_avm_simulation_tester.js';
|
|
9
|
+
import { AvmSimulatorPool } from '../avm_simulator_pool.js';
|
|
8
10
|
import { PublicContractsDB } from '../public_db_sources.js';
|
|
9
11
|
import type { MeasuredPublicTxSimulatorInterface } from '../public_tx_simulator/public_tx_simulator_interface.js';
|
|
10
12
|
import { TestExecutorMetrics } from '../test_executor_metrics.js';
|
|
@@ -13,7 +15,7 @@ import { type TestPrivateInsertions } from './utils.js';
|
|
|
13
15
|
export type TestEnqueuedCall = {
|
|
14
16
|
sender?: AztecAddress;
|
|
15
17
|
address: AztecAddress;
|
|
16
|
-
fnName
|
|
18
|
+
fnName?: string;
|
|
17
19
|
args: any[];
|
|
18
20
|
isStaticCall?: boolean;
|
|
19
21
|
contractArtifact?: ContractArtifact;
|
|
@@ -33,11 +35,12 @@ export declare class PublicTxSimulationTester extends BaseAvmSimulationTester {
|
|
|
33
35
|
protected txCount: number;
|
|
34
36
|
private simulator;
|
|
35
37
|
private metricsPrefix?;
|
|
38
|
+
protected avmSimulator?: AvmSimulatorPool;
|
|
36
39
|
constructor(merkleTree: MerkleTreeWriteOperations, contractDataSource: SimpleContractDataSource, globals?: GlobalVariables, metrics?: TestExecutorMetrics, simulatorFactory?: MeasuredSimulatorFactory, config?: PublicSimulatorConfig);
|
|
37
|
-
static create(worldStateService: NativeWorldStateService, globals?: GlobalVariables, metrics?: TestExecutorMetrics,
|
|
40
|
+
static create(worldStateService: NativeWorldStateService, globals?: GlobalVariables, metrics?: TestExecutorMetrics, config?: PublicSimulatorConfig): Promise<PublicTxSimulationTester>;
|
|
38
41
|
setMetricsPrefix(prefix: string): void;
|
|
39
|
-
createTx(sender: AztecAddress, setupCalls?: TestEnqueuedCall[], appCalls?: TestEnqueuedCall[], teardownCall?: TestEnqueuedCall, feePayer?: AztecAddress, privateInsertions?: TestPrivateInsertions): Promise<Tx>;
|
|
40
|
-
simulateTx(sender: AztecAddress, setupCalls?: TestEnqueuedCall[], appCalls?: TestEnqueuedCall[], teardownCall?: TestEnqueuedCall, feePayer?: AztecAddress, privateInsertions?: TestPrivateInsertions, txLabel?: string): Promise<PublicTxResult>;
|
|
42
|
+
createTx(sender: AztecAddress, setupCalls?: TestEnqueuedCall[], appCalls?: TestEnqueuedCall[], teardownCall?: TestEnqueuedCall, feePayer?: AztecAddress, privateInsertions?: TestPrivateInsertions, gasLimits?: Gas): Promise<Tx>;
|
|
43
|
+
simulateTx(sender: AztecAddress, setupCalls?: TestEnqueuedCall[], appCalls?: TestEnqueuedCall[], teardownCall?: TestEnqueuedCall, feePayer?: AztecAddress, privateInsertions?: TestPrivateInsertions, txLabel?: string, gasLimits?: Gas): Promise<PublicTxResult>;
|
|
41
44
|
/**
|
|
42
45
|
* Just simulate the transaction and return the result.
|
|
43
46
|
*
|
|
@@ -54,6 +57,21 @@ export declare class PublicTxSimulationTester extends BaseAvmSimulationTester {
|
|
|
54
57
|
*/
|
|
55
58
|
executeTxWithLabel(txLabel: string, sender: AztecAddress, setupCalls?: TestEnqueuedCall[], appCalls?: TestEnqueuedCall[], teardownCall?: TestEnqueuedCall, feePayer?: AztecAddress, privateInsertions?: TestPrivateInsertions): Promise<PublicTxResult>;
|
|
56
59
|
prettyPrintMetrics(): void;
|
|
60
|
+
/** Clean up IPC resources (AVM simulator pool and merkle tree fork) created by create(). */
|
|
61
|
+
close(): Promise<void>;
|
|
62
|
+
/**
|
|
63
|
+
* Cancel the current simulation if one is in progress.
|
|
64
|
+
* This signals the underlying simulator to stop at the next safe point.
|
|
65
|
+
* Safe to call even if no simulation is in progress.
|
|
66
|
+
*
|
|
67
|
+
* @param waitTimeoutMs - If provided, wait up to this many ms for the simulation to actually stop.
|
|
68
|
+
*/
|
|
69
|
+
cancel(waitTimeoutMs?: number): Promise<void>;
|
|
70
|
+
/**
|
|
71
|
+
* Get the underlying simulator for advanced test scenarios.
|
|
72
|
+
* Use this when you need direct control over simulation (e.g., for testing cancellation).
|
|
73
|
+
*/
|
|
74
|
+
getSimulator(): MeasuredPublicTxSimulatorInterface | undefined;
|
|
57
75
|
}
|
|
58
76
|
export declare function defaultGlobals(): GlobalVariables;
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX3R4X3NpbXVsYXRpb25fdGVzdGVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHVibGljL2ZpeHR1cmVzL3B1YmxpY190eF9zaW11bGF0aW9uX3Rlc3Rlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsS0FBSyxnQkFBZ0IsRUFBbUIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsS0FBSyxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvRSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsR0FBRyxFQUFXLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxLQUFLLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVqRixPQUFPLEVBQUUsZUFBZSxFQUFpQyxLQUFLLEVBQUUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzNGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTdELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBT3ZGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTVELE9BQU8sS0FBSyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0seURBQXlELENBQUM7QUFDbEgsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDNUUsT0FBTyxFQUFFLEtBQUsscUJBQXFCLEVBQTBCLE1BQU0sWUFBWSxDQUFDO0FBTWhGLE1BQU0sTUFBTSxnQkFBZ0IsR0FBRztJQUM3QixNQUFNLENBQUMsRUFBRSxZQUFZ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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public_tx_simulation_tester.d.ts","sourceRoot":"","sources":["../../../src/public/fixtures/public_tx_simulation_tester.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,gBAAgB,EAAmB,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"public_tx_simulation_tester.d.ts","sourceRoot":"","sources":["../../../src/public/fixtures/public_tx_simulation_tester.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,26 +1,29 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { PUBLIC_TX_L2_GAS_OVERHEAD, TX_DA_GAS_OVERHEAD } from '@aztec/constants';
|
|
2
2
|
import { asyncMap } from '@aztec/foundation/async-map';
|
|
3
3
|
import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
4
|
-
import { Fr } from '@aztec/foundation/
|
|
4
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
5
5
|
import { encodeArguments } from '@aztec/stdlib/abi';
|
|
6
6
|
import { PublicSimulatorConfig } from '@aztec/stdlib/avm';
|
|
7
7
|
import { Gas, GasFees } from '@aztec/stdlib/gas';
|
|
8
8
|
import { PublicCallRequest } from '@aztec/stdlib/kernel';
|
|
9
9
|
import { GlobalVariables, PublicCallRequestWithCalldata } from '@aztec/stdlib/tx';
|
|
10
|
-
import { BaseAvmSimulationTester } from '../avm/
|
|
11
|
-
import { DEFAULT_BLOCK_NUMBER, DEFAULT_TIMESTAMP, getContractFunctionAbi, getFunctionSelector } from '../avm/
|
|
10
|
+
import { BaseAvmSimulationTester } from '../avm/testing/base_avm_simulation_tester.js';
|
|
11
|
+
import { DEFAULT_BLOCK_NUMBER, DEFAULT_TIMESTAMP, getContractFunctionAbi, getFunctionSelector } from '../avm/testing/utils.js';
|
|
12
|
+
import { AvmSimulatorPool } from '../avm_simulator_pool.js';
|
|
12
13
|
import { PublicContractsDB } from '../public_db_sources.js';
|
|
13
|
-
import {
|
|
14
|
-
import { MeasuredCppVsTsPublicTxSimulator } from '../public_tx_simulator/cpp_vs_ts_public_tx_simulator.js';
|
|
14
|
+
import { MeasuredPublicTxSimulator } from '../public_tx_simulator/public_tx_simulator.js';
|
|
15
15
|
import { TestExecutorMetrics } from '../test_executor_metrics.js';
|
|
16
16
|
import { SimpleContractDataSource } from './simple_contract_data_source.js';
|
|
17
17
|
import { createTxForPublicCalls } from './utils.js';
|
|
18
18
|
const DEFAULT_GAS_FEES = new GasFees(2, 3);
|
|
19
|
+
const TEARDOWN_DA_GAS_LIMIT = 98_304;
|
|
20
|
+
const TEARDOWN_L2_GAS_LIMIT = 817_500;
|
|
19
21
|
const defaultConfig = PublicSimulatorConfig.from({
|
|
20
22
|
skipFeeEnforcement: false,
|
|
21
23
|
collectCallMetadata: true,
|
|
22
24
|
collectDebugLogs: true,
|
|
23
25
|
collectHints: false,
|
|
26
|
+
collectPublicInputs: false,
|
|
24
27
|
collectStatistics: false
|
|
25
28
|
});
|
|
26
29
|
/**
|
|
@@ -32,20 +35,28 @@ const defaultConfig = PublicSimulatorConfig.from({
|
|
|
32
35
|
txCount;
|
|
33
36
|
simulator;
|
|
34
37
|
metricsPrefix;
|
|
38
|
+
avmSimulator;
|
|
35
39
|
constructor(merkleTree, contractDataSource, globals = defaultGlobals(), metrics = new TestExecutorMetrics(), simulatorFactory, config = defaultConfig){
|
|
36
40
|
super(contractDataSource, merkleTree), this.metrics = metrics, this.txCount = 0;
|
|
37
41
|
const contractsDB = new PublicContractsDB(contractDataSource);
|
|
38
42
|
if (simulatorFactory) {
|
|
39
43
|
this.simulator = simulatorFactory(merkleTree, contractsDB, globals, this.metrics, config);
|
|
40
44
|
} else {
|
|
41
|
-
|
|
45
|
+
// No simulator — this tester can only be used for setup (setFeePayerBalance, createTx, etc.)
|
|
46
|
+
// To simulate, use PublicTxSimulationTester.create() or pass a simulatorFactory.
|
|
47
|
+
this.simulator = undefined;
|
|
42
48
|
}
|
|
43
49
|
}
|
|
44
|
-
static async create(worldStateService, globals = defaultGlobals(), metrics = new TestExecutorMetrics(),
|
|
50
|
+
static async create(worldStateService, globals = defaultGlobals(), metrics = new TestExecutorMetrics(), config = defaultConfig) {
|
|
45
51
|
const contractDataSource = new SimpleContractDataSource();
|
|
46
52
|
const merkleTree = await worldStateService.fork();
|
|
47
|
-
const
|
|
48
|
-
|
|
53
|
+
const avmSimulator = await AvmSimulatorPool.spawn({
|
|
54
|
+
wsdbIpcPath: worldStateService.getIpcPath()
|
|
55
|
+
});
|
|
56
|
+
const simulatorFactory = (mt, cdb, g, m, c)=>new MeasuredPublicTxSimulator(avmSimulator, g, cdb, mt.getRevision().forkId, m, c, undefined);
|
|
57
|
+
const tester = new PublicTxSimulationTester(merkleTree, contractDataSource, globals, metrics, simulatorFactory, config);
|
|
58
|
+
tester.avmSimulator = avmSimulator;
|
|
59
|
+
return tester;
|
|
49
60
|
}
|
|
50
61
|
setMetricsPrefix(prefix) {
|
|
51
62
|
this.metricsPrefix = prefix;
|
|
@@ -56,15 +67,15 @@ const defaultConfig = PublicSimulatorConfig.from({
|
|
|
56
67
|
new Fr(420000 + this.txCount)
|
|
57
68
|
]
|
|
58
69
|
}
|
|
59
|
-
}) {
|
|
70
|
+
}, gasLimits) {
|
|
60
71
|
const setupCallRequests = await asyncMap(setupCalls, (call)=>this.#createPubicCallRequestForCall(call, call.sender ?? sender));
|
|
61
72
|
const appCallRequests = await asyncMap(appCalls, (call)=>this.#createPubicCallRequestForCall(call, call.sender ?? sender));
|
|
62
73
|
const teardownCallRequest = teardownCall ? await this.#createPubicCallRequestForCall(teardownCall, teardownCall.sender ?? sender) : undefined;
|
|
63
74
|
this.txCount++;
|
|
64
|
-
return createTxForPublicCalls(privateInsertions, setupCallRequests, appCallRequests, teardownCallRequest, feePayer, /*gasUsedByPrivate*/ teardownCall ? new Gas(
|
|
75
|
+
return createTxForPublicCalls(privateInsertions, setupCallRequests, appCallRequests, teardownCallRequest, feePayer, /*gasUsedByPrivate*/ teardownCall ? new Gas(TEARDOWN_DA_GAS_LIMIT + TX_DA_GAS_OVERHEAD, TEARDOWN_L2_GAS_LIMIT + PUBLIC_TX_L2_GAS_OVERHEAD) : new Gas(TX_DA_GAS_OVERHEAD, PUBLIC_TX_L2_GAS_OVERHEAD), defaultGlobals(), gasLimits);
|
|
65
76
|
}
|
|
66
|
-
async simulateTx(sender, setupCalls = [], appCalls = [], teardownCall, feePayer = sender, /* need some unique first nullifier for note-nonce computations */ privateInsertions, txLabel = 'unlabeledTx') {
|
|
67
|
-
const tx = await this.createTx(sender, setupCalls, appCalls, teardownCall, feePayer, privateInsertions);
|
|
77
|
+
async simulateTx(sender, setupCalls = [], appCalls = [], teardownCall, feePayer = sender, /* need some unique first nullifier for note-nonce computations */ privateInsertions, txLabel = 'unlabeledTx', gasLimits) {
|
|
78
|
+
const tx = await this.createTx(sender, setupCalls, appCalls, teardownCall, feePayer, privateInsertions, gasLimits);
|
|
68
79
|
await this.setFeePayerBalance(feePayer);
|
|
69
80
|
const txLabelWithCount = `${txLabel}/${this.txCount - 1}`;
|
|
70
81
|
const fullTxLabel = this.metricsPrefix ? `${this.metricsPrefix}/${txLabelWithCount}` : txLabelWithCount;
|
|
@@ -104,19 +115,53 @@ const defaultConfig = PublicSimulatorConfig.from({
|
|
|
104
115
|
prettyPrintMetrics() {
|
|
105
116
|
this.metrics.prettyPrint();
|
|
106
117
|
}
|
|
118
|
+
/** Clean up IPC resources (AVM simulator pool and merkle tree fork) created by create(). */ async close() {
|
|
119
|
+
await this.avmSimulator?.[Symbol.asyncDispose]();
|
|
120
|
+
// Close the merkle tree fork to release IPC resources before the wsdb process is killed.
|
|
121
|
+
if (this.merkleTrees?.close) {
|
|
122
|
+
await this.merkleTrees.close().catch(()=>{});
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Cancel the current simulation if one is in progress.
|
|
127
|
+
* This signals the underlying simulator to stop at the next safe point.
|
|
128
|
+
* Safe to call even if no simulation is in progress.
|
|
129
|
+
*
|
|
130
|
+
* @param waitTimeoutMs - If provided, wait up to this many ms for the simulation to actually stop.
|
|
131
|
+
*/ async cancel(waitTimeoutMs) {
|
|
132
|
+
await this.simulator?.cancel?.(waitTimeoutMs);
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Get the underlying simulator for advanced test scenarios.
|
|
136
|
+
* Use this when you need direct control over simulation (e.g., for testing cancellation).
|
|
137
|
+
*/ getSimulator() {
|
|
138
|
+
return this.simulator;
|
|
139
|
+
}
|
|
107
140
|
async #createPubicCallRequestForCall(call, sender) {
|
|
108
141
|
const address = call.address;
|
|
109
142
|
const contractArtifact = call.contractArtifact || await this.contractDataSource.getContractArtifact(address);
|
|
110
143
|
if (!contractArtifact) {
|
|
111
144
|
throw new Error(`Contract artifact not found for address: ${address}`);
|
|
112
145
|
}
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
146
|
+
let calldata = [];
|
|
147
|
+
if (!call.fnName) {
|
|
148
|
+
this.logger.debug(`No function name specified for call to contract ${call.address.toString()}. Assuming this is a custom bytecode with no public_dispatch function.`);
|
|
149
|
+
this.logger.debug(`Not using ABI to encode arguments. Not prepending fn selector to calldata.`);
|
|
150
|
+
try {
|
|
151
|
+
calldata = call.args.map((arg)=>new Fr(arg));
|
|
152
|
+
} catch (error) {
|
|
153
|
+
this.logger.warn(`Tried assuming that all arguments are Field-like. Failed. Error: ${error}`);
|
|
154
|
+
throw error;
|
|
155
|
+
}
|
|
156
|
+
} else {
|
|
157
|
+
const fnSelector = await getFunctionSelector(call.fnName, contractArtifact);
|
|
158
|
+
const fnAbi = getContractFunctionAbi(call.fnName, contractArtifact);
|
|
159
|
+
const encodedArgs = encodeArguments(fnAbi, call.args);
|
|
160
|
+
calldata = [
|
|
161
|
+
fnSelector.toField(),
|
|
162
|
+
...encodedArgs
|
|
163
|
+
];
|
|
164
|
+
}
|
|
120
165
|
const isStaticCall = call.isStaticCall ?? false;
|
|
121
166
|
const request = await PublicCallRequest.fromCalldata(sender, address, isStaticCall, calldata);
|
|
122
167
|
return new PublicCallRequestWithCalldata(request, calldata);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { BlockNumber } from '@aztec/foundation/branded-types';
|
|
2
|
-
import
|
|
2
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
3
|
import type { ContractArtifact, FunctionSelector } from '@aztec/stdlib/abi';
|
|
4
4
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
5
5
|
import type { ContractClassPublic, ContractDataSource, ContractInstanceWithAddress } from '@aztec/stdlib/contract';
|
|
@@ -33,4 +33,4 @@ export declare class SimpleContractDataSource implements ContractDataSource {
|
|
|
33
33
|
addContractClass(contractClass: ContractClassPublic): Promise<void>;
|
|
34
34
|
addContractInstance(contractInstance: ContractInstanceWithAddress): Promise<void>;
|
|
35
35
|
}
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlX2NvbnRyYWN0X2RhdGFfc291cmNlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHVibGljL2ZpeHR1cmVzL3NpbXBsZV9jb250cmFjdF9kYXRhX3NvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFcEQsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM1RSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBSW5IOzs7Ozs7R0FNRztBQUNILHFCQUFhLHdCQUF5QixZQUFXLGtCQUFrQjtJQUMxRCxNQUFNLHlDQUErQztJQUc1RCxPQUFPLENBQUMsZUFBZSxDQUErQztJQUV0RSxPQUFPLENBQUMsaUJBQWlCLENBQXVEO0lBRWhGLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBNEM7SUFFckUsT0FBTyxDQUFDLGlCQUFpQixDQUFrQztJQUkzRDs7O09BR0c7SUFDRyxjQUFjLENBQ2xCLGdCQUFnQixFQUFFLGdCQUFnQixFQUNsQyxhQUFhLEVBQUUsbUJBQW1CLEVBQ2xDLGdCQUFnQixFQUFFLDJCQUEyQixpQkFLOUM7SUFFSyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsaUJBY2hFO0lBSUQsY0FBYyxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FFckM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsR0FBRyxTQUFTLENBQUMsQ0FFakU7SUFFRCxxQkFBcUIsQ0FBQyxHQUFHLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxFQUFFLEdBQUcsU0FBUyxDQUFDLENBRXREO0lBRUQsV0FBVyxDQUFDLE9BQU8sRUFBRSxZQUFZLEdBQUcsT0FBTyxDQUFDLDJCQUEyQixHQUFHLFNBQVMsQ0FBQyxDQUVuRjtJQUVELG1CQUFtQixJQUFJLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUVuQztJQUVLLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxZQUFZLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixHQUFHLFNBQVMsQ0FBQyxDQVN0RjtJQUVLLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLENBYXpHO0lBRUQsa0NBQWtDLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FFdkU7SUFFRCxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsbUJBQW1CLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUdsRTtJQUVELG1CQUFtQixDQUFDLGdCQUFnQixFQUFFLDJCQUEyQixHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FHaEY7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple_contract_data_source.d.ts","sourceRoot":"","sources":["../../../src/public/fixtures/simple_contract_data_source.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,
|
|
1
|
+
{"version":3,"file":"simple_contract_data_source.d.ts","sourceRoot":"","sources":["../../../src/public/fixtures/simple_contract_data_source.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAInH;;;;;;GAMG;AACH,qBAAa,wBAAyB,YAAW,kBAAkB;IAC1D,MAAM,yCAA+C;IAG5D,OAAO,CAAC,eAAe,CAA+C;IAEtE,OAAO,CAAC,iBAAiB,CAAuD;IAEhF,OAAO,CAAC,iBAAiB,CAA4C;IAErE,OAAO,CAAC,iBAAiB,CAAkC;IAI3D;;;OAGG;IACG,cAAc,CAClB,gBAAgB,EAAE,gBAAgB,EAClC,aAAa,EAAE,mBAAmB,EAClC,gBAAgB,EAAE,2BAA2B,iBAK9C;IAEK,mBAAmB,CAAC,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,gBAAgB,iBAchE;IAID,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC,CAErC;IAED,gBAAgB,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAEjE;IAED,qBAAqB,CAAC,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,CAEtD;IAED,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAC,CAEnF;IAED,mBAAmB,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC,CAEnC;IAEK,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAStF;IAEK,oBAAoB,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAazG;IAED,kCAAkC,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAEvE;IAED,gBAAgB,CAAC,aAAa,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAGlE;IAED,mBAAmB,CAAC,gBAAgB,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAGhF;CACF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createLogger } from '@aztec/foundation/log';
|
|
2
|
-
import { getFunctionSelector } from '../avm/
|
|
2
|
+
import { getFunctionSelector } from '../avm/testing/utils.js';
|
|
3
3
|
/**
|
|
4
4
|
* This class is used during public/avm testing to function as a database of
|
|
5
5
|
* contract contract classes and instances. Tests can populate it with classes
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { Fr } from '@aztec/foundation/
|
|
1
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
2
|
import { Timer } from '@aztec/foundation/timer';
|
|
3
3
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
4
4
|
export async function tokenTest(tester, logger, tokenArtifact, expectToBeTrue, options = {}) {
|
|
5
5
|
const timer = new Timer();
|
|
6
|
-
const admin = AztecAddress.
|
|
7
|
-
const sender = AztecAddress.
|
|
8
|
-
const receiver = AztecAddress.
|
|
6
|
+
const admin = AztecAddress.fromNumberUnsafe(42);
|
|
7
|
+
const sender = AztecAddress.fromNumberUnsafe(111);
|
|
8
|
+
const receiver = AztecAddress.fromNumberUnsafe(222);
|
|
9
9
|
const token = await setUpToken(tester, tokenArtifact, admin, expectToBeTrue);
|
|
10
10
|
const mintAmount = 100n;
|
|
11
11
|
// EXECUTE! This means that if using AvmProvingTester subclass, it will PROVE the transaction!
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Fr } from '@aztec/foundation/
|
|
1
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
2
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
3
3
|
import type { ContractClassPublic, ContractInstanceWithAddress } from '@aztec/stdlib/contract';
|
|
4
4
|
import { Gas } from '@aztec/stdlib/gas';
|
|
@@ -19,8 +19,8 @@ export type TestPrivateInsertions = {
|
|
|
19
19
|
/**
|
|
20
20
|
* Craft a carrier transaction for some public calls for simulation by PublicTxSimulator.
|
|
21
21
|
*/
|
|
22
|
-
export declare function createTxForPublicCalls(privateInsertions: TestPrivateInsertions, setupCallRequests: PublicCallRequestWithCalldata[], appCallRequests: PublicCallRequestWithCalldata[], teardownCallRequest?: PublicCallRequestWithCalldata, feePayer?: AztecAddress, gasUsedByPrivate?: Gas, globals?: GlobalVariables): Promise<Tx>;
|
|
22
|
+
export declare function createTxForPublicCalls(privateInsertions: TestPrivateInsertions, setupCallRequests: PublicCallRequestWithCalldata[], appCallRequests: PublicCallRequestWithCalldata[], teardownCallRequest?: PublicCallRequestWithCalldata, feePayer?: AztecAddress, gasUsedByPrivate?: Gas, globals?: GlobalVariables, gasLimits?: Gas): Promise<Tx>;
|
|
23
23
|
export declare function createTxForPrivateOnly(feePayer?: AztecAddress, gasUsedByPrivate?: Gas): Promise<Tx>;
|
|
24
24
|
export declare function addNewContractClassToTx(tx: Tx, contractClass: ContractClassPublic, skipNullifierInsertion?: boolean): Promise<void>;
|
|
25
25
|
export declare function addNewContractInstanceToTx(tx: Tx, contractInstance: ContractInstanceWithAddress, skipNullifierInsertion?: boolean): Promise<void>;
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wdWJsaWMvZml4dHVyZXMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBR3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQy9GLE9BQU8sRUFBRSxHQUFHLEVBQXdCLE1BQU0sbUJBQW1CLENBQUM7QUFVOUQsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVuRSxPQUFPLEVBRUwsZUFBZSxFQUVmLDZCQUE2QixFQUM3QixFQUFFLEVBR0gsTUFBTSxrQkFBa0IsQ0FBQztBQU8xQixNQUFNLE1BQU0scUJBQXFCLEdBQUc7SUFDbEMsVUFBVSxDQUFDLEVBQUU7UUFDWCxVQUFVLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUNsQixVQUFVLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUNsQixVQUFVLENBQUMsRUFBRSxtQkFBbUIsRUFBRSxDQUFDO0tBQ3BDLENBQUM7SUFDRixhQUFhLENBQUMsRUFBRTtRQUNkLFVBQVUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQ2xCLFVBQVUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQ2xCLFVBQVUsQ0FBQyxFQUFFLG1CQUFtQixFQUFFLENBQUM7S0FDcEMsQ0FBQztDQUNILENBQUM7QUFFRjs7R0FFRztBQUNILHdCQUFzQixzQkFBc0IsQ0FDMUMsaUJBQWlCLEVBQUUscUJBQXFCLEVBQ3hDLGlCQUFpQixFQUFFLDZCQUE2QixFQUFFLEVBQ2xELGVBQWUsRUFBRSw2QkFBNkIsRUFBRSxFQUNoRCxtQkFBbUIsQ0FBQyxFQUFFLDZCQUE2QixFQUNuRCxRQUFRLGVBQXNCLEVBQzlCLGdCQUFnQixHQUFFLEdBQWlCLEVBQ25DLE9BQU8sR0FBRSxlQUF5QyxFQUNsRCxTQUFTLENBQUMsRUFBRSxHQUFHLEdBQ2QsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQTRGYjtBQUVELHdCQUFzQixzQkFBc0IsQ0FDMUMsUUFBUSxlQUFzQixFQUM5QixnQkFBZ0IsR0FBRSxHQUFxQixHQUN0QyxPQUFPLENBQUMsRUFBRSxDQUFDLENBMEJiO0FBRUQsd0JBQXNCLHVCQUF1QixDQUMzQyxFQUFFLEVBQUUsRUFBRSxFQUNOLGFBQWEsRUFBRSxtQkFBbUIsRUFDbEMsc0JBQXNCLFVBQVEsaUJBNkIvQjtBQUVELHdCQUFzQiwwQkFBMEIsQ0FDOUMsRUFBRSxFQUFFLEVBQUUsRUFDTixnQkFBZ0IsRUFBRSwyQkFBMkIsRUFDN0Msc0JBQXNCLFVBQVEsaUJBeUMvQiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/public/fixtures/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/public/fixtures/utils.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAGpD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAC/F,OAAO,EAAE,GAAG,EAAwB,MAAM,mBAAmB,CAAC;AAU9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,OAAO,EAEL,eAAe,EAEf,6BAA6B,EAC7B,EAAE,EAGH,MAAM,kBAAkB,CAAC;AAO1B,MAAM,MAAM,qBAAqB,GAAG;IAClC,UAAU,CAAC,EAAE;QACX,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC;QAClB,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC;QAClB,UAAU,CAAC,EAAE,mBAAmB,EAAE,CAAC;KACpC,CAAC;IACF,aAAa,CAAC,EAAE;QACd,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC;QAClB,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC;QAClB,UAAU,CAAC,EAAE,mBAAmB,EAAE,CAAC;KACpC,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,iBAAiB,EAAE,qBAAqB,EACxC,iBAAiB,EAAE,6BAA6B,EAAE,EAClD,eAAe,EAAE,6BAA6B,EAAE,EAChD,mBAAmB,CAAC,EAAE,6BAA6B,EACnD,QAAQ,eAAsB,EAC9B,gBAAgB,GAAE,GAAiB,EACnC,OAAO,GAAE,eAAyC,EAClD,SAAS,CAAC,EAAE,GAAG,GACd,OAAO,CAAC,EAAE,CAAC,CA4Fb;AAED,wBAAsB,sBAAsB,CAC1C,QAAQ,eAAsB,EAC9B,gBAAgB,GAAE,GAAqB,GACtC,OAAO,CAAC,EAAE,CAAC,CA0Bb;AAED,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,EAAE,EACN,aAAa,EAAE,mBAAmB,EAClC,sBAAsB,UAAQ,iBA6B/B;AAED,wBAAsB,0BAA0B,CAC9C,EAAE,EAAE,EAAE,EACN,gBAAgB,EAAE,2BAA2B,EAC7C,sBAAsB,UAAQ,iBAyC/B"}
|