@aztec/simulator 0.0.1-commit.3100065 → 0.0.1-commit.321f6a9
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/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/{fixtures → testing}/base_avm_simulation_tester.d.ts +1 -1
- package/dest/public/avm/testing/base_avm_simulation_tester.d.ts.map +1 -0
- 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 +0 -33
- 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/fixtures/index.d.ts +2 -4
- package/dest/public/fixtures/index.d.ts.map +1 -1
- package/dest/public/fixtures/index.js +1 -3
- 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 +11 -7
- package/dest/public/fixtures/public_tx_simulation_tester.d.ts.map +1 -1
- package/dest/public/fixtures/public_tx_simulation_tester.js +29 -41
- package/dest/public/fixtures/simple_contract_data_source.js +1 -1
- package/dest/public/fuzzing/avm_fuzzer_simulator.d.ts +11 -4
- package/dest/public/fuzzing/avm_fuzzer_simulator.d.ts.map +1 -1
- package/dest/public/fuzzing/avm_fuzzer_simulator.js +24 -10
- package/dest/public/fuzzing/avm_simulator_bin.js +4 -4
- 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 +2 -2
- package/dest/public/public_db_sources.d.ts.map +1 -1
- package/dest/public/public_db_sources.js +1 -1
- package/dest/public/public_processor/guarded_merkle_tree.d.ts +4 -3
- package/dest/public/public_processor/guarded_merkle_tree.d.ts.map +1 -1
- package/dest/public/public_processor/guarded_merkle_tree.js +3 -0
- package/dest/public/public_processor/public_processor.d.ts +8 -4
- package/dest/public/public_processor/public_processor.d.ts.map +1 -1
- package/dest/public/public_processor/public_processor.js +19 -34
- 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_cpp_public_tx_simulator.js → dumping_public_tx_simulator.js} +10 -23
- package/dest/public/public_tx_simulator/factories.d.ts +8 -8
- package/dest/public/public_tx_simulator/factories.d.ts.map +1 -1
- package/dest/public/public_tx_simulator/factories.js +8 -8
- package/dest/public/public_tx_simulator/index.d.ts +4 -6
- package/dest/public/public_tx_simulator/index.d.ts.map +1 -1
- package/dest/public/public_tx_simulator/index.js +2 -4
- package/dest/public/public_tx_simulator/public_tx_simulator.d.ts +42 -75
- package/dest/public/public_tx_simulator/public_tx_simulator.d.ts.map +1 -1
- package/dest/public/public_tx_simulator/public_tx_simulator.js +98 -323
- 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 +5 -5
- package/dest/public/test_executor_metrics.d.ts +1 -6
- package/dest/public/test_executor_metrics.d.ts.map +1 -1
- package/dest/public/test_executor_metrics.js +0 -22
- package/package.json +22 -19
- package/src/public/avm/{fixtures → testing}/utils.ts +0 -39
- 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/fixtures/index.ts +1 -3
- package/src/public/fixtures/public_processor_test_env.ts +88 -0
- package/src/public/fixtures/public_tx_simulation_tester.ts +37 -50
- package/src/public/fixtures/simple_contract_data_source.ts +1 -1
- package/src/public/fuzzing/avm_fuzzer_simulator.ts +25 -10
- package/src/public/fuzzing/avm_simulator_bin.ts +3 -5
- package/src/public/index.ts +7 -3
- package/src/public/public_db_sources.ts +1 -1
- package/src/public/public_processor/guarded_merkle_tree.ts +5 -2
- package/src/public/public_processor/public_processor.ts +25 -39
- package/src/public/public_tx_simulator/{dumping_cpp_public_tx_simulator.ts → dumping_public_tx_simulator.ts} +15 -31
- package/src/public/public_tx_simulator/factories.ts +27 -10
- package/src/public/public_tx_simulator/index.ts +6 -5
- package/src/public/public_tx_simulator/public_tx_simulator.ts +139 -480
- package/src/public/public_tx_simulator/public_tx_simulator_base.ts +37 -0
- package/src/public/public_tx_simulator/public_tx_simulator_interface.ts +5 -5
- package/src/public/test_executor_metrics.ts +0 -24
- 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 -24
- 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 -98
- package/dest/public/avm/avm_machine_state.d.ts.map +0 -1
- package/dest/public/avm/avm_machine_state.js +0 -110
- 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 -354
- package/dest/public/avm/avm_simulator.d.ts +0 -41
- package/dest/public/avm/avm_simulator.d.ts.map +0 -1
- package/dest/public/avm/avm_simulator.js +0 -192
- 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/calldata.d.ts +0 -51
- package/dest/public/avm/calldata.d.ts.map +0 -1
- package/dest/public/avm/calldata.js +0 -64
- 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/account_proof_fetcher.d.ts +0 -2
- package/dest/public/avm/fixtures/account_proof_fetcher.d.ts.map +0 -1
- 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 -84
- 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 -45
- 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 -74
- package/dest/public/avm/opcodes/accrued_substate.d.ts.map +0 -1
- package/dest/public/avm/opcodes/accrued_substate.js +0 -254
- 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 -49
- package/dest/public/avm/opcodes/arithmetic.d.ts.map +0 -1
- package/dest/public/avm/opcodes/arithmetic.js +0 -97
- 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 -21
- package/dest/public/avm/opcodes/contract.d.ts.map +0 -1
- package/dest/public/avm/opcodes/contract.js +0 -69
- 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 -17
- package/dest/public/avm/opcodes/ec_add.d.ts.map +0 -1
- package/dest/public/avm/opcodes/ec_add.js +0 -79
- 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 -210
- 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 -119
- 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 -25
- package/dest/public/avm/opcodes/storage.d.ts.map +0 -1
- package/dest/public/avm/opcodes/storage.js +0 -78
- 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 -37
- package/dest/public/fixtures/custom_bytecode_tests.d.ts +0 -19
- package/dest/public/fixtures/custom_bytecode_tests.d.ts.map +0 -1
- package/dest/public/fixtures/custom_bytecode_tests.js +0 -263
- package/dest/public/fixtures/minimal_public_tx.d.ts +0 -4
- package/dest/public/fixtures/minimal_public_tx.d.ts.map +0 -1
- package/dest/public/fixtures/minimal_public_tx.js +0 -19
- package/dest/public/fixtures/opcode_spammer.d.ts +0 -122
- package/dest/public/fixtures/opcode_spammer.d.ts.map +0 -1
- package/dest/public/fixtures/opcode_spammer.js +0 -1645
- package/dest/public/hinting_db_sources.d.ts +0 -80
- package/dest/public/hinting_db_sources.d.ts.map +0 -1
- package/dest/public/hinting_db_sources.js +0 -356
- package/dest/public/public_tx_simulator/contract_provider_for_cpp.d.ts +0 -19
- 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 -99
- package/dest/public/public_tx_simulator/cpp_public_tx_simulator.d.ts +0 -53
- 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 -131
- 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 -171
- package/dest/public/public_tx_simulator/dumping_cpp_public_tx_simulator.d.ts +0 -23
- package/dest/public/public_tx_simulator/dumping_cpp_public_tx_simulator.d.ts.map +0 -1
- 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 -135
- 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 -298
- 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 -415
- package/dest/public/side_effect_trace.d.ts +0 -87
- 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 -170
- package/dest/public/state_manager/state_manager.d.ts.map +0 -1
- package/dest/public/state_manager/state_manager.js +0 -402
- package/src/public/avm/avm_context.ts +0 -61
- package/src/public/avm/avm_contract_call_result.ts +0 -69
- package/src/public/avm/avm_execution_environment.ts +0 -51
- package/src/public/avm/avm_gas.ts +0 -183
- package/src/public/avm/avm_machine_state.ts +0 -170
- package/src/public/avm/avm_memory_types.ts +0 -440
- package/src/public/avm/avm_simulator.ts +0 -279
- package/src/public/avm/avm_simulator_interface.ts +0 -8
- package/src/public/avm/calldata.ts +0 -101
- package/src/public/avm/errors.ts +0 -177
- package/src/public/avm/fixtures/avm_simulation_tester.ts +0 -122
- package/src/public/avm/fixtures/initializers.ts +0 -103
- package/src/public/avm/index.ts +0 -1
- package/src/public/avm/opcodes/accrued_substate.ts +0 -285
- package/src/public/avm/opcodes/addressing_mode.ts +0 -111
- package/src/public/avm/opcodes/arithmetic.ts +0 -129
- 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 -76
- 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 -86
- package/src/public/avm/opcodes/environment_getters.ts +0 -87
- package/src/public/avm/opcodes/external_calls.ts +0 -262
- package/src/public/avm/opcodes/hashing.ts +0 -151
- 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 -95
- 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 -52
- package/src/public/fixtures/custom_bytecode_tests.ts +0 -435
- package/src/public/fixtures/minimal_public_tx.ts +0 -26
- package/src/public/fixtures/opcode_spammer.ts +0 -1713
- package/src/public/hinting_db_sources.ts +0 -610
- package/src/public/public_tx_simulator/contract_provider_for_cpp.ts +0 -125
- package/src/public/public_tx_simulator/cpp_public_tx_simulator.ts +0 -210
- package/src/public/public_tx_simulator/cpp_public_tx_simulator_with_hinted_dbs.ts +0 -134
- package/src/public/public_tx_simulator/cpp_vs_ts_public_tx_simulator.ts +0 -239
- package/src/public/public_tx_simulator/measured_public_tx_simulator.ts +0 -105
- package/src/public/public_tx_simulator/public_tx_context.ts +0 -482
- package/src/public/public_tx_simulator/telemetry_public_tx_simulator.ts +0 -63
- package/src/public/side_effect_trace.ts +0 -293
- 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 -569
- /package/dest/public/avm/{fixtures → testing}/account_proof_fetcher.js +0 -0
- /package/dest/public/avm/{fixtures → testing}/base_avm_simulation_tester.js +0 -0
- /package/src/public/avm/{fixtures → testing}/account_proof.json +0 -0
- /package/src/public/avm/{fixtures → testing}/account_proof_fetcher.ts +0 -0
- /package/src/public/avm/{fixtures → testing}/base_avm_simulation_tester.ts +0 -0
|
@@ -1,12 +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 { 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 * from './custom_bytecode_tests.js';
|
|
10
9
|
export { deployCustomBytecode, executeCustomBytecode, deployAndExecuteCustomBytecode, } from './custom_bytecode_tester.js';
|
|
11
|
-
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wdWJsaWMvZml4dHVyZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLHFCQUFxQixFQUNyQiw4QkFBOEIsR0FDL0IsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQyJ9
|
|
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,11 +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 { 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 * from './custom_bytecode_tests.js';
|
|
10
9
|
export { deployCustomBytecode, executeCustomBytecode, deployAndExecuteCustomBytecode } from './custom_bytecode_tester.js';
|
|
11
|
-
export { getSpamConfigsPerOpcode, testOpcodeSpamCase } from './opcode_spammer.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
|
+
}
|
|
@@ -5,7 +5,8 @@ import { Gas } from '@aztec/stdlib/gas';
|
|
|
5
5
|
import type { MerkleTreeWriteOperations } from '@aztec/stdlib/interfaces/server';
|
|
6
6
|
import { GlobalVariables, type Tx } from '@aztec/stdlib/tx';
|
|
7
7
|
import { NativeWorldStateService } from '@aztec/world-state';
|
|
8
|
-
import { BaseAvmSimulationTester } from '../avm/
|
|
8
|
+
import { BaseAvmSimulationTester } from '../avm/testing/base_avm_simulation_tester.js';
|
|
9
|
+
import { AvmSimulatorPool } from '../avm_simulator_pool.js';
|
|
9
10
|
import { PublicContractsDB } from '../public_db_sources.js';
|
|
10
11
|
import type { MeasuredPublicTxSimulatorInterface } from '../public_tx_simulator/public_tx_simulator_interface.js';
|
|
11
12
|
import { TestExecutorMetrics } from '../test_executor_metrics.js';
|
|
@@ -34,8 +35,9 @@ export declare class PublicTxSimulationTester extends BaseAvmSimulationTester {
|
|
|
34
35
|
protected txCount: number;
|
|
35
36
|
private simulator;
|
|
36
37
|
private metricsPrefix?;
|
|
38
|
+
protected avmSimulator?: AvmSimulatorPool;
|
|
37
39
|
constructor(merkleTree: MerkleTreeWriteOperations, contractDataSource: SimpleContractDataSource, globals?: GlobalVariables, metrics?: TestExecutorMetrics, simulatorFactory?: MeasuredSimulatorFactory, config?: PublicSimulatorConfig);
|
|
38
|
-
static create(worldStateService: NativeWorldStateService, globals?: GlobalVariables, metrics?: TestExecutorMetrics,
|
|
40
|
+
static create(worldStateService: NativeWorldStateService, globals?: GlobalVariables, metrics?: TestExecutorMetrics, config?: PublicSimulatorConfig): Promise<PublicTxSimulationTester>;
|
|
39
41
|
setMetricsPrefix(prefix: string): void;
|
|
40
42
|
createTx(sender: AztecAddress, setupCalls?: TestEnqueuedCall[], appCalls?: TestEnqueuedCall[], teardownCall?: TestEnqueuedCall, feePayer?: AztecAddress, privateInsertions?: TestPrivateInsertions, gasLimits?: Gas): Promise<Tx>;
|
|
41
43
|
simulateTx(sender: AztecAddress, setupCalls?: TestEnqueuedCall[], appCalls?: TestEnqueuedCall[], teardownCall?: TestEnqueuedCall, feePayer?: AztecAddress, privateInsertions?: TestPrivateInsertions, txLabel?: string, gasLimits?: Gas): Promise<PublicTxResult>;
|
|
@@ -45,7 +47,7 @@ export declare class PublicTxSimulationTester extends BaseAvmSimulationTester {
|
|
|
45
47
|
* This wrapper around simulation allows for easy labeling of a TX
|
|
46
48
|
* which is especially useful when reporting benchmarks or metrics.
|
|
47
49
|
*/
|
|
48
|
-
simulateTxWithLabel(txLabel: string, sender: AztecAddress, setupCalls?: TestEnqueuedCall[], appCalls?: TestEnqueuedCall[], teardownCall?: TestEnqueuedCall, feePayer?: AztecAddress, privateInsertions?: TestPrivateInsertions
|
|
50
|
+
simulateTxWithLabel(txLabel: string, sender: AztecAddress, setupCalls?: TestEnqueuedCall[], appCalls?: TestEnqueuedCall[], teardownCall?: TestEnqueuedCall, feePayer?: AztecAddress, privateInsertions?: TestPrivateInsertions): Promise<PublicTxResult>;
|
|
49
51
|
/**
|
|
50
52
|
* Execute a transaction and return the result.
|
|
51
53
|
*
|
|
@@ -53,11 +55,13 @@ export declare class PublicTxSimulationTester extends BaseAvmSimulationTester {
|
|
|
53
55
|
* to do more work (like prove and verify) while still reusing existing
|
|
54
56
|
* test fixtures (like amm_test). That is why it is not named "simulate*".
|
|
55
57
|
*/
|
|
56
|
-
executeTxWithLabel(txLabel: string, sender: AztecAddress, setupCalls?: TestEnqueuedCall[], appCalls?: TestEnqueuedCall[], teardownCall?: TestEnqueuedCall, feePayer?: AztecAddress, privateInsertions?: TestPrivateInsertions
|
|
58
|
+
executeTxWithLabel(txLabel: string, sender: AztecAddress, setupCalls?: TestEnqueuedCall[], appCalls?: TestEnqueuedCall[], teardownCall?: TestEnqueuedCall, feePayer?: AztecAddress, privateInsertions?: TestPrivateInsertions): Promise<PublicTxResult>;
|
|
57
59
|
prettyPrintMetrics(): void;
|
|
60
|
+
/** Clean up IPC resources (AVM simulator pool and merkle tree fork) created by create(). */
|
|
61
|
+
close(): Promise<void>;
|
|
58
62
|
/**
|
|
59
63
|
* Cancel the current simulation if one is in progress.
|
|
60
|
-
* This signals the underlying simulator
|
|
64
|
+
* This signals the underlying simulator to stop at the next safe point.
|
|
61
65
|
* Safe to call even if no simulation is in progress.
|
|
62
66
|
*
|
|
63
67
|
* @param waitTimeoutMs - If provided, wait up to this many ms for the simulation to actually stop.
|
|
@@ -67,7 +71,7 @@ export declare class PublicTxSimulationTester extends BaseAvmSimulationTester {
|
|
|
67
71
|
* Get the underlying simulator for advanced test scenarios.
|
|
68
72
|
* Use this when you need direct control over simulation (e.g., for testing cancellation).
|
|
69
73
|
*/
|
|
70
|
-
getSimulator(): MeasuredPublicTxSimulatorInterface;
|
|
74
|
+
getSimulator(): MeasuredPublicTxSimulatorInterface | undefined;
|
|
71
75
|
}
|
|
72
76
|
export declare function defaultGlobals(): GlobalVariables;
|
|
73
|
-
//# 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;AAChE,OAAO,EAAE,GAAG,EAAW,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAEjF,OAAO,EAAE,eAAe,EAAiC,KAAK,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAC3F,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,OAAO,EAAE,uBAAuB,EAAE,MAAM
|
|
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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"}
|
|
@@ -7,11 +7,11 @@ 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';
|
|
@@ -35,20 +35,28 @@ const defaultConfig = PublicSimulatorConfig.from({
|
|
|
35
35
|
txCount;
|
|
36
36
|
simulator;
|
|
37
37
|
metricsPrefix;
|
|
38
|
+
avmSimulator;
|
|
38
39
|
constructor(merkleTree, contractDataSource, globals = defaultGlobals(), metrics = new TestExecutorMetrics(), simulatorFactory, config = defaultConfig){
|
|
39
40
|
super(contractDataSource, merkleTree), this.metrics = metrics, this.txCount = 0;
|
|
40
41
|
const contractsDB = new PublicContractsDB(contractDataSource);
|
|
41
42
|
if (simulatorFactory) {
|
|
42
43
|
this.simulator = simulatorFactory(merkleTree, contractsDB, globals, this.metrics, config);
|
|
43
44
|
} else {
|
|
44
|
-
|
|
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;
|
|
45
48
|
}
|
|
46
49
|
}
|
|
47
|
-
static async create(worldStateService, globals = defaultGlobals(), metrics = new TestExecutorMetrics(),
|
|
50
|
+
static async create(worldStateService, globals = defaultGlobals(), metrics = new TestExecutorMetrics(), config = defaultConfig) {
|
|
48
51
|
const contractDataSource = new SimpleContractDataSource();
|
|
49
52
|
const merkleTree = await worldStateService.fork();
|
|
50
|
-
const
|
|
51
|
-
|
|
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;
|
|
52
60
|
}
|
|
53
61
|
setMetricsPrefix(prefix) {
|
|
54
62
|
this.metricsPrefix = prefix;
|
|
@@ -75,13 +83,6 @@ const defaultConfig = PublicSimulatorConfig.from({
|
|
|
75
83
|
throw new Error('No simulator configured. Pass a simulatorFactory to the constructor or use PublicTxSimulationTester.create()');
|
|
76
84
|
}
|
|
77
85
|
const avmResult = await this.simulator.simulate(tx, fullTxLabel);
|
|
78
|
-
await this.#recordBytecodeSizes(fullTxLabel, [
|
|
79
|
-
...setupCalls,
|
|
80
|
-
...appCalls,
|
|
81
|
-
...teardownCall ? [
|
|
82
|
-
teardownCall
|
|
83
|
-
] : []
|
|
84
|
-
]);
|
|
85
86
|
// Something like this is often useful for debugging:
|
|
86
87
|
//if (avmResult.revertReason) {
|
|
87
88
|
// // resolve / enrich revert reason
|
|
@@ -99,8 +100,8 @@ const defaultConfig = PublicSimulatorConfig.from({
|
|
|
99
100
|
*
|
|
100
101
|
* This wrapper around simulation allows for easy labeling of a TX
|
|
101
102
|
* which is especially useful when reporting benchmarks or metrics.
|
|
102
|
-
*/ async simulateTxWithLabel(txLabel, sender, setupCalls, appCalls, teardownCall, feePayer, privateInsertions
|
|
103
|
-
return await this.simulateTx(sender, setupCalls, appCalls, teardownCall, feePayer, privateInsertions, txLabel
|
|
103
|
+
*/ async simulateTxWithLabel(txLabel, sender, setupCalls, appCalls, teardownCall, feePayer, privateInsertions) {
|
|
104
|
+
return await this.simulateTx(sender, setupCalls, appCalls, teardownCall, feePayer, privateInsertions, txLabel);
|
|
104
105
|
}
|
|
105
106
|
/**
|
|
106
107
|
* Execute a transaction and return the result.
|
|
@@ -108,20 +109,27 @@ const defaultConfig = PublicSimulatorConfig.from({
|
|
|
108
109
|
* This function can be (it is) overridden by a subclass (AvmProvingTester)
|
|
109
110
|
* to do more work (like prove and verify) while still reusing existing
|
|
110
111
|
* test fixtures (like amm_test). That is why it is not named "simulate*".
|
|
111
|
-
*/ async executeTxWithLabel(txLabel, sender, setupCalls, appCalls, teardownCall, feePayer, privateInsertions
|
|
112
|
-
return await this.simulateTxWithLabel(txLabel, sender, setupCalls, appCalls, teardownCall, feePayer, privateInsertions
|
|
112
|
+
*/ async executeTxWithLabel(txLabel, sender, setupCalls, appCalls, teardownCall, feePayer, privateInsertions) {
|
|
113
|
+
return await this.simulateTxWithLabel(txLabel, sender, setupCalls, appCalls, teardownCall, feePayer, privateInsertions);
|
|
113
114
|
}
|
|
114
115
|
prettyPrintMetrics() {
|
|
115
116
|
this.metrics.prettyPrint();
|
|
116
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
|
+
}
|
|
117
125
|
/**
|
|
118
126
|
* Cancel the current simulation if one is in progress.
|
|
119
|
-
* This signals the underlying simulator
|
|
127
|
+
* This signals the underlying simulator to stop at the next safe point.
|
|
120
128
|
* Safe to call even if no simulation is in progress.
|
|
121
129
|
*
|
|
122
130
|
* @param waitTimeoutMs - If provided, wait up to this many ms for the simulation to actually stop.
|
|
123
131
|
*/ async cancel(waitTimeoutMs) {
|
|
124
|
-
await this.simulator
|
|
132
|
+
await this.simulator?.cancel?.(waitTimeoutMs);
|
|
125
133
|
}
|
|
126
134
|
/**
|
|
127
135
|
* Get the underlying simulator for advanced test scenarios.
|
|
@@ -158,26 +166,6 @@ const defaultConfig = PublicSimulatorConfig.from({
|
|
|
158
166
|
const request = await PublicCallRequest.fromCalldata(sender, address, isStaticCall, calldata);
|
|
159
167
|
return new PublicCallRequestWithCalldata(request, calldata);
|
|
160
168
|
}
|
|
161
|
-
// WARNING: Deduplicates by artifact name, so two different artifacts with the same name
|
|
162
|
-
// in a single tx would only record the first one's bytecode size.
|
|
163
|
-
async #recordBytecodeSizes(txLabel, calls) {
|
|
164
|
-
const seenArtifactNames = new Set();
|
|
165
|
-
for (const call of calls){
|
|
166
|
-
const artifact = await this.contractDataSource.getContractArtifact(call.address);
|
|
167
|
-
if (!artifact || seenArtifactNames.has(artifact.name)) {
|
|
168
|
-
continue;
|
|
169
|
-
}
|
|
170
|
-
seenArtifactNames.add(artifact.name);
|
|
171
|
-
const instance = await this.contractDataSource.getContract(call.address);
|
|
172
|
-
if (!instance) {
|
|
173
|
-
continue;
|
|
174
|
-
}
|
|
175
|
-
const contractClass = await this.contractDataSource.getContractClass(instance.currentContractClassId);
|
|
176
|
-
if (contractClass) {
|
|
177
|
-
this.metrics.recordBytecodeSize(txLabel, artifact.name, contractClass.packedBytecode.length);
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
169
|
}
|
|
182
170
|
export function defaultGlobals() {
|
|
183
171
|
const globals = GlobalVariables.empty();
|
|
@@ -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
|
|
@@ -2,8 +2,10 @@ import { AvmTxHint, type PublicTxResult } from '@aztec/stdlib/avm';
|
|
|
2
2
|
import { type MerkleTreeWriteOperations } from '@aztec/stdlib/trees';
|
|
3
3
|
import { GlobalVariables, ProtocolContracts } from '@aztec/stdlib/tx';
|
|
4
4
|
import type { NativeWorldStateService } from '@aztec/world-state';
|
|
5
|
-
import { BaseAvmSimulationTester } from '../avm/
|
|
5
|
+
import { BaseAvmSimulationTester } from '../avm/testing/base_avm_simulation_tester.js';
|
|
6
|
+
import { AvmSimulatorPool } from '../avm_simulator_pool.js';
|
|
6
7
|
import { SimpleContractDataSource } from '../fixtures/simple_contract_data_source.js';
|
|
8
|
+
import { PublicContractsDB } from '../public_db_sources.js';
|
|
7
9
|
/**
|
|
8
10
|
* Request structure for fuzzer simulation communication from C++.
|
|
9
11
|
* Matches the C++ FuzzerSimulationRequest struct
|
|
@@ -24,14 +26,19 @@ export declare class FuzzerSimulationRequest {
|
|
|
24
26
|
/**
|
|
25
27
|
* A simulator class for the AVM fuzzer that extends BaseAvmSimulationTester.
|
|
26
28
|
* It provides methods for registering contracts from C++ msgpack data and simulating transactions.
|
|
29
|
+
* The simulation itself runs on the production C++ AVM simulator, so the fuzzer compares brillig
|
|
30
|
+
* execution against the real AVM rather than a TS reference.
|
|
27
31
|
*/
|
|
28
32
|
export declare class AvmFuzzerSimulator extends BaseAvmSimulationTester {
|
|
33
|
+
private avmSimulator;
|
|
29
34
|
private simulator;
|
|
30
|
-
constructor(merkleTrees: MerkleTreeWriteOperations, contractDataSource: SimpleContractDataSource, globals: GlobalVariables,
|
|
35
|
+
constructor(merkleTrees: MerkleTreeWriteOperations, contractDataSource: SimpleContractDataSource, globals: GlobalVariables, avmSimulator: AvmSimulatorPool, contractsDB: PublicContractsDB, forkId: number);
|
|
31
36
|
/**
|
|
32
37
|
* Static factory method to create an AvmFuzzerSimulator.
|
|
33
38
|
*/
|
|
34
|
-
static create(worldStateService: NativeWorldStateService, globals: GlobalVariables
|
|
39
|
+
static create(worldStateService: NativeWorldStateService, globals: GlobalVariables): Promise<AvmFuzzerSimulator>;
|
|
40
|
+
/** Tear down the AVM simulator pool (AVM processes and CDB server). */
|
|
41
|
+
close(): Promise<void>;
|
|
35
42
|
/**
|
|
36
43
|
* Simulate a transaction from a C++ AvmTxHint.
|
|
37
44
|
*/
|
|
@@ -57,4 +64,4 @@ export declare class AvmFuzzerSimulator extends BaseAvmSimulationTester {
|
|
|
57
64
|
*/
|
|
58
65
|
applyNoteHashes(rawNoteHashes: any[]): Promise<void>;
|
|
59
66
|
}
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZtX2Z1enplcl9zaW11bGF0b3IuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wdWJsaWMvZnV6emluZy9hdm1fZnV6emVyX3NpbXVsYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFZbkUsT0FBTyxFQUFnQixLQUFLLHlCQUF5QixFQUFzQixNQUFNLHFCQUFxQixDQUFDO0FBQ3ZHLE9BQU8sRUFFTCxlQUFlLEVBRWYsaUJBQWlCLEVBS2xCLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxLQUFLLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVsRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN2RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUN0RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUc1RDs7O0dBR0c7QUFDSCxxQkFBYSx1QkFBdUI7YUFFaEIsU0FBUyxFQUFFLE1BQU07YUFDakIsV0FBVyxFQUFFLE1BQU07YUFDbkIsRUFBRSxFQUFFLFNBQVM7YUFDYixPQUFPLEVBQUUsZUFBZTthQUN4QixlQUFlLEVBQUUsR0FBRyxFQUFFO2FBQ3RCLGlCQUFpQixFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFO2FBQy9CLGdCQUFnQixFQUFFLEdBQUcsRUFBRTthQUN2QixVQUFVLEVBQUUsR0FBRyxFQUFFO2FBQ2pCLGlCQUFpQixFQUFFLGlCQUFpQjtJQVR0RCxZQUNrQixTQUFTLEVBQUUsTUFBTSxFQUNqQixXQUFXLEVBQUUsTUFBTSxFQUNuQixFQUFFLEVBQUUsU0FBUyxFQUNiLE9BQU8sRUFBRSxlQUFlLEVBQ3hCLGVBQWUsRUFBRSxHQUFHLEVBQUUsRUFDdEIsaUJBQWlCLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFDL0IsZ0JBQWdCLEVBQUUsR0FBRyxFQUFFLEVBQ3ZCLFVBQVUsRUFBRSxHQUFHLEVBQUUsRUFDakIsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQ2xEO0lBRUosTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLHVCQUF1QixDQWV4RDtDQUNGO0FBbUhEOzs7OztHQUtHO0FBQ0gscUJBQWEsa0JBQW1CLFNBQVEsdUJBQXVCO0lBTzNELE9BQU8sQ0FBQyxZQUFZO0lBTnRCLE9BQU8sQ0FBQyxTQUFTLENBQW9CO0lBRXJDLFlBQ0UsV0FBVyxFQUFFLHlCQUF5QixFQUN0QyxrQkFBa0IsRUFBRSx3QkFBd0IsRUFDNUMsT0FBTyxFQUFFLGVBQWUsRUFDaEIsWUFBWSxFQUFFLGdCQUFnQixFQUN0QyxXQUFXLEVBQUUsaUJBQWlCLEVBQzlCLE1BQU0sRUFBRSxNQUFNLEVBb0JmO0lBRUQ7O09BRUc7SUFDSCxPQUFvQixNQUFNLENBQ3hCLGlCQUFpQixFQUFFLHVCQUF1QixFQUMxQyxPQUFPLEVBQUUsZUFBZSxHQUN2QixPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FPN0I7SUFFRCx1RUFBdUU7SUFDMUQsS0FBSyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FFbEM7SUFFRDs7T0FFRztJQUNVLFFBQVEsQ0FBQyxNQUFNLEVBQUUsU0FBUyxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FVaEU7SUFFRDs7T0FFRztJQUNVLHVCQUF1QixDQUFDLFFBQVEsRUFBRSxHQUFHLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUdqRTtJQUVEOzs7O09BSUc7SUFDVSwwQkFBMEIsQ0FBQyxVQUFVLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxHQUFHLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQU14RjtJQUVEOzs7T0FHRztJQUNVLHFCQUFxQixDQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBS2xFO0lBRUQ7OztPQUdHO0lBQ1UsZUFBZSxDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBSWhFO0NBQ0YifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avm_fuzzer_simulator.d.ts","sourceRoot":"","sources":["../../../src/public/fuzzing/avm_fuzzer_simulator.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAYnE,OAAO,EAAgB,KAAK,yBAAyB,EAAsB,MAAM,qBAAqB,CAAC;AACvG,OAAO,EAEL,eAAe,EAEf,iBAAiB,EAKlB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAElE,OAAO,EAAE,uBAAuB,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"avm_fuzzer_simulator.d.ts","sourceRoot":"","sources":["../../../src/public/fuzzing/avm_fuzzer_simulator.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAYnE,OAAO,EAAgB,KAAK,yBAAyB,EAAsB,MAAM,qBAAqB,CAAC;AACvG,OAAO,EAEL,eAAe,EAEf,iBAAiB,EAKlB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAElE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;AACvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAG5D;;;GAGG;AACH,qBAAa,uBAAuB;aAEhB,SAAS,EAAE,MAAM;aACjB,WAAW,EAAE,MAAM;aACnB,EAAE,EAAE,SAAS;aACb,OAAO,EAAE,eAAe;aACxB,eAAe,EAAE,GAAG,EAAE;aACtB,iBAAiB,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;aAC/B,gBAAgB,EAAE,GAAG,EAAE;aACvB,UAAU,EAAE,GAAG,EAAE;aACjB,iBAAiB,EAAE,iBAAiB;IATtD,YACkB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,EAAE,EAAE,SAAS,EACb,OAAO,EAAE,eAAe,EACxB,eAAe,EAAE,GAAG,EAAE,EACtB,iBAAiB,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAC/B,gBAAgB,EAAE,GAAG,EAAE,EACvB,UAAU,EAAE,GAAG,EAAE,EACjB,iBAAiB,EAAE,iBAAiB,EAClD;IAEJ,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,uBAAuB,CAexD;CACF;AAmHD;;;;;GAKG;AACH,qBAAa,kBAAmB,SAAQ,uBAAuB;IAO3D,OAAO,CAAC,YAAY;IANtB,OAAO,CAAC,SAAS,CAAoB;IAErC,YACE,WAAW,EAAE,yBAAyB,EACtC,kBAAkB,EAAE,wBAAwB,EAC5C,OAAO,EAAE,eAAe,EAChB,YAAY,EAAE,gBAAgB,EACtC,WAAW,EAAE,iBAAiB,EAC9B,MAAM,EAAE,MAAM,EAoBf;IAED;;OAEG;IACH,OAAoB,MAAM,CACxB,iBAAiB,EAAE,uBAAuB,EAC1C,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,kBAAkB,CAAC,CAO7B;IAED,uEAAuE;IAC1D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAElC;IAED;;OAEG;IACU,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC,CAUhE;IAED;;OAEG;IACU,uBAAuB,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAGjE;IAED;;;;OAIG;IACU,0BAA0B,CAAC,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAMxF;IAED;;;OAGG;IACU,qBAAqB,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAKlE;IAED;;;OAGG;IACU,eAAe,CAAC,aAAa,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAIhE;CACF"}
|
|
@@ -10,7 +10,8 @@ import { ScopedL2ToL1Message } from '@aztec/stdlib/messaging';
|
|
|
10
10
|
import { ChonkProof } from '@aztec/stdlib/proofs';
|
|
11
11
|
import { MerkleTreeId, PublicDataTreeLeaf } from '@aztec/stdlib/trees';
|
|
12
12
|
import { BlockHeader, GlobalVariables, HashedValues, ProtocolContracts, Tx, TxConstantData, TxContext, TxHash } from '@aztec/stdlib/tx';
|
|
13
|
-
import { BaseAvmSimulationTester } from '../avm/
|
|
13
|
+
import { BaseAvmSimulationTester } from '../avm/testing/base_avm_simulation_tester.js';
|
|
14
|
+
import { AvmSimulatorPool } from '../avm_simulator_pool.js';
|
|
14
15
|
import { SimpleContractDataSource } from '../fixtures/simple_contract_data_source.js';
|
|
15
16
|
import { PublicContractsDB } from '../public_db_sources.js';
|
|
16
17
|
import { PublicTxSimulator } from '../public_tx_simulator/public_tx_simulator.js';
|
|
@@ -47,7 +48,7 @@ import { PublicTxSimulator } from '../public_tx_simulator/public_tx_simulator.js
|
|
|
47
48
|
}
|
|
48
49
|
/**
|
|
49
50
|
* Creates a TypeScript Tx object from a deserialized C++ Tx (AvmTxHint-like structure).
|
|
50
|
-
* This allows
|
|
51
|
+
* This allows simulating fuzzer-generated transactions with the C++ public tx simulator.
|
|
51
52
|
*/ async function createTxFromHint(cppTx) {
|
|
52
53
|
// Create TxHash from the C++ tx hash string
|
|
53
54
|
if (!cppTx.hash) {
|
|
@@ -100,25 +101,38 @@ import { PublicTxSimulator } from '../public_tx_simulator/public_tx_simulator.js
|
|
|
100
101
|
/**
|
|
101
102
|
* A simulator class for the AVM fuzzer that extends BaseAvmSimulationTester.
|
|
102
103
|
* It provides methods for registering contracts from C++ msgpack data and simulating transactions.
|
|
104
|
+
* The simulation itself runs on the production C++ AVM simulator, so the fuzzer compares brillig
|
|
105
|
+
* execution against the real AVM rather than a TS reference.
|
|
103
106
|
*/ export class AvmFuzzerSimulator extends BaseAvmSimulationTester {
|
|
107
|
+
avmSimulator;
|
|
104
108
|
simulator;
|
|
105
|
-
constructor(merkleTrees, contractDataSource, globals,
|
|
106
|
-
super(contractDataSource, merkleTrees);
|
|
107
|
-
|
|
108
|
-
|
|
109
|
+
constructor(merkleTrees, contractDataSource, globals, avmSimulator, contractsDB, forkId){
|
|
110
|
+
super(contractDataSource, merkleTrees), this.avmSimulator = avmSimulator;
|
|
111
|
+
// collectPublicInputs and collectCallMetadata are required so the C++ result carries the end
|
|
112
|
+
// tree snapshots and app-logic return values that the fuzzer bin reports back to the harness.
|
|
113
|
+
this.simulator = new PublicTxSimulator(avmSimulator, globals, contractsDB, forkId, {
|
|
109
114
|
skipFeeEnforcement: false,
|
|
110
115
|
collectDebugLogs: false,
|
|
111
116
|
collectHints: false,
|
|
117
|
+
collectPublicInputs: true,
|
|
112
118
|
collectStatistics: false,
|
|
113
|
-
collectCallMetadata:
|
|
114
|
-
},
|
|
119
|
+
collectCallMetadata: true
|
|
120
|
+
}, undefined);
|
|
115
121
|
}
|
|
116
122
|
/**
|
|
117
123
|
* Static factory method to create an AvmFuzzerSimulator.
|
|
118
|
-
*/ static async create(worldStateService, globals
|
|
124
|
+
*/ static async create(worldStateService, globals) {
|
|
119
125
|
const contractDataSource = new SimpleContractDataSource();
|
|
120
126
|
const merkleTrees = await worldStateService.fork();
|
|
121
|
-
|
|
127
|
+
const forkId = merkleTrees.getRevision().forkId;
|
|
128
|
+
const avmSimulator = await AvmSimulatorPool.spawn({
|
|
129
|
+
wsdbIpcPath: worldStateService.getIpcPath()
|
|
130
|
+
});
|
|
131
|
+
const contractsDB = new PublicContractsDB(contractDataSource);
|
|
132
|
+
return new AvmFuzzerSimulator(merkleTrees, contractDataSource, globals, avmSimulator, contractsDB, forkId);
|
|
133
|
+
}
|
|
134
|
+
/** Tear down the AVM simulator pool (AVM processes and CDB server). */ async close() {
|
|
135
|
+
await this.avmSimulator[Symbol.asyncDispose]();
|
|
122
136
|
}
|
|
123
137
|
/**
|
|
124
138
|
* Simulate a transaction from a C++ AvmTxHint.
|
|
@@ -33,9 +33,9 @@ async function openExistingWorldState(dataDir, mapSizeKb) {
|
|
|
33
33
|
worldStateCache.set(dataDir, ws);
|
|
34
34
|
return ws;
|
|
35
35
|
}
|
|
36
|
-
async function simulateWithFuzzer(dataDir, mapSizeKb, txHint, globals, rawContractClasses, rawContractInstances, rawPublicDataWrites, rawNoteHashes
|
|
36
|
+
async function simulateWithFuzzer(dataDir, mapSizeKb, txHint, globals, rawContractClasses, rawContractInstances, rawPublicDataWrites, rawNoteHashes) {
|
|
37
37
|
const worldStateService = await openExistingWorldState(dataDir, mapSizeKb);
|
|
38
|
-
const simulator = await AvmFuzzerSimulator.create(worldStateService, globals
|
|
38
|
+
const simulator = await AvmFuzzerSimulator.create(worldStateService, globals);
|
|
39
39
|
await simulator.applyNoteHashes(rawNoteHashes);
|
|
40
40
|
// Register contract classes from C++ (must happen before public data writes to match C++ order)
|
|
41
41
|
for (const rawClass of rawContractClasses){
|
|
@@ -64,8 +64,8 @@ async function execute(base64Line) {
|
|
|
64
64
|
const buffer = Buffer.from(base64Line.trim(), 'base64');
|
|
65
65
|
const rawRequest = deserializeFromMessagePack(buffer);
|
|
66
66
|
const request = FuzzerSimulationRequest.fromPlainObject(rawRequest);
|
|
67
|
-
// Run the
|
|
68
|
-
const result = await simulateWithFuzzer(request.wsDataDir, request.wsMapSizeKb, request.tx, request.globals, request.contractClasses, request.contractInstances, request.publicDataWrites, request.noteHashes
|
|
67
|
+
// Run the simulation on the C++ AVM simulator
|
|
68
|
+
const result = await simulateWithFuzzer(request.wsDataDir, request.wsMapSizeKb, request.tx, request.globals, request.contractClasses, request.contractInstances, request.publicDataWrites, request.noteHashes);
|
|
69
69
|
// Serialize the result to msgpack and encode it in base64 for output
|
|
70
70
|
const resultBuffer = serializeWithMessagePack({
|
|
71
71
|
reverted: result.reverted,
|
package/dest/public/index.d.ts
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
|
+
export { AvmSimulatorPool, type AvmSimulatorPoolOptions } from './avm_simulator_pool.js';
|
|
2
|
+
export type { PublicContractsDBInterface } from './db_interfaces.js';
|
|
1
3
|
export { PublicContractsDB } from './public_db_sources.js';
|
|
2
4
|
export { GuardedMerkleTreeOperations } from './public_processor/guarded_merkle_tree.js';
|
|
3
5
|
export { PublicProcessor, PublicProcessorFactory } from './public_processor/public_processor.js';
|
|
4
|
-
export {
|
|
6
|
+
export type { AvmContractsDBContext, AvmSimulator } from './avm_simulator.js';
|
|
7
|
+
export { PublicTxSimulator, MeasuredPublicTxSimulator, createPublicTxSimulatorForBlockBuilding, DumpingPublicTxSimulator, type PublicTxSimulatorInterface, TelemetryPublicTxSimulator, } from './public_tx_simulator/index.js';
|
|
5
8
|
export type { PublicTxResult, PublicSimulatorConfig as PublicTxSimulatorConfig } from '@aztec/stdlib/avm';
|
|
6
9
|
export { getCallRequestsWithCalldataByPhase } from './utils.js';
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLEtBQUssdUJBQXVCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RixZQUFZLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUN4RixPQUFPLEVBQUUsZUFBZSxFQUFFLHNCQUFzQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDakcsWUFBWSxFQUFFLHFCQUFxQixFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzlFLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIseUJBQXlCLEVBQ3pCLHVDQUF1QyxFQUN2Qyx3QkFBd0IsRUFDeEIsS0FBSywwQkFBMEIsRUFDL0IsMEJBQTBCLEdBQzNCLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsWUFBWSxFQUFFLGNBQWMsRUFBRSxxQkFBcUIsSUFBSSx1QkFBdUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzFHLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLFlBQVksQ0FBQyJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/public/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AACjG,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/public/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,KAAK,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACzF,YAAY,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AACjG,YAAY,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EACL,iBAAiB,EACjB,yBAAyB,EACzB,uCAAuC,EACvC,wBAAwB,EACxB,KAAK,0BAA0B,EAC/B,0BAA0B,GAC3B,MAAM,gCAAgC,CAAC;AACxC,YAAY,EAAE,cAAc,EAAE,qBAAqB,IAAI,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC1G,OAAO,EAAE,kCAAkC,EAAE,MAAM,YAAY,CAAC"}
|
package/dest/public/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
export { AvmSimulatorPool } from './avm_simulator_pool.js';
|
|
1
2
|
export { PublicContractsDB } from './public_db_sources.js';
|
|
2
3
|
export { GuardedMerkleTreeOperations } from './public_processor/guarded_merkle_tree.js';
|
|
3
4
|
export { PublicProcessor, PublicProcessorFactory } from './public_processor/public_processor.js';
|
|
4
|
-
export {
|
|
5
|
+
export { PublicTxSimulator, MeasuredPublicTxSimulator, createPublicTxSimulatorForBlockBuilding, DumpingPublicTxSimulator, TelemetryPublicTxSimulator } from './public_tx_simulator/index.js';
|
|
5
6
|
export { getCallRequestsWithCalldataByPhase } from './utils.js';
|
|
@@ -17,7 +17,7 @@ export declare class PublicContractsDB implements PublicContractsDBInterface {
|
|
|
17
17
|
private contractStateStack;
|
|
18
18
|
private log;
|
|
19
19
|
constructor(dataSource: ContractDataSource, bindings?: LoggerBindings);
|
|
20
|
-
/** Parses raw
|
|
20
|
+
/** Parses raw contract deployment data and inserts the resulting contracts into the current checkpoint. */
|
|
21
21
|
addContractsFromLogs(contractDeploymentData: ContractDeploymentData): void;
|
|
22
22
|
addNewContracts(tx: Tx): void;
|
|
23
23
|
/** Inserts typed contract instances directly into the current checkpoint. */
|
|
@@ -80,4 +80,4 @@ export declare class PublicTreesDB implements PublicStateDBInterface {
|
|
|
80
80
|
revertCheckpoint(): Promise<void>;
|
|
81
81
|
getTreeSnapshots(): Promise<TreeSnapshots>;
|
|
82
82
|
}
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2RiX3NvdXJjZXMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMvcHVibGljX2RiX3NvdXJjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBZSxLQUFLLGNBQWMsRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUl2RixPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTFELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFFTCxLQUFLLG1CQUFtQixFQUN4QixLQUFLLGtCQUFrQixFQUN2QixLQUFLLHNCQUFzQixFQUMzQixLQUFLLDJCQUEyQixFQUVqQyxNQUFNLHdCQUF3QixDQUFDO0FBRWhDLE9BQU8sS0FBSyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFakYsT0FBTyxFQUNMLFlBQVksRUFLYixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMxRCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUtsRCxPQUFPLEtBQUssRUFBRSwwQkFBMEIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRzdGOzs7R0FHRztBQUNILHFCQUFhLGlCQUFrQixZQUFXLDBCQUEwQjtJQU1oRSxPQUFPLENBQUMsVUFBVTtJQUxwQixPQUFPLENBQUMsa0JBQWtCLENBQTBEO0lBRXBGLE9BQU8sQ0FBQyxHQUFHLENBQVM7SUFFcEIsWUFDVSxVQUFVLEVBQUUsa0JBQWtCLEVBQ3RDLFFBQVEsQ0FBQyxFQUFFLGNBQWMsRUFHMUI7SUFFRCwyR0FBMkc7SUFDcEcsb0JBQW9CLENBQUMs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
|