@aztec-labs/pxe 6.0.0-nightly.20260829
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 +13 -0
- package/dest/bin/check_oracle_version.d.ts +2 -0
- package/dest/bin/check_oracle_version.d.ts.map +1 -0
- package/dest/bin/check_oracle_version.js +22 -0
- package/dest/bin/index.d.ts +2 -0
- package/dest/bin/index.d.ts.map +1 -0
- package/dest/bin/index.js +1 -0
- package/dest/bin/oracle_version_helpers.d.ts +20 -0
- package/dest/bin/oracle_version_helpers.d.ts.map +1 -0
- package/dest/bin/oracle_version_helpers.js +25 -0
- package/dest/block_synchronizer/block_stream_source.d.ts +10 -0
- package/dest/block_synchronizer/block_stream_source.d.ts.map +1 -0
- package/dest/block_synchronizer/block_stream_source.js +37 -0
- package/dest/block_synchronizer/block_synchronizer.d.ts +47 -0
- package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -0
- package/dest/block_synchronizer/block_synchronizer.js +192 -0
- package/dest/block_synchronizer/index.d.ts +2 -0
- package/dest/block_synchronizer/index.d.ts.map +1 -0
- package/dest/block_synchronizer/index.js +1 -0
- package/dest/config/index.d.ts +57 -0
- package/dest/config/index.d.ts.map +1 -0
- package/dest/config/index.js +80 -0
- package/dest/config/package_info.d.ts +5 -0
- package/dest/config/package_info.d.ts.map +1 -0
- package/dest/config/package_info.js +6 -0
- package/dest/contract/contract_call_graph.d.ts +51 -0
- package/dest/contract/contract_call_graph.d.ts.map +1 -0
- package/dest/contract/contract_call_graph.js +91 -0
- package/dest/contract/contract_class_service.d.ts +24 -0
- package/dest/contract/contract_class_service.d.ts.map +1 -0
- package/dest/contract/contract_class_service.js +36 -0
- package/dest/contract/contract_sync_service.d.ts +82 -0
- package/dest/contract/contract_sync_service.d.ts.map +1 -0
- package/dest/contract/contract_sync_service.js +210 -0
- package/dest/contract/helpers.d.ts +7 -0
- package/dest/contract/helpers.d.ts.map +1 -0
- package/dest/contract/helpers.js +20 -0
- package/dest/contract/skip_sync_contracts.d.ts +11 -0
- package/dest/contract/skip_sync_contracts.d.ts.map +1 -0
- package/dest/contract/skip_sync_contracts.js +18 -0
- package/dest/contract_function_simulator/anchored_contract_data.d.ts +36 -0
- package/dest/contract_function_simulator/anchored_contract_data.d.ts.map +1 -0
- package/dest/contract_function_simulator/anchored_contract_data.js +54 -0
- package/dest/contract_function_simulator/contract_function_simulator.d.ts +114 -0
- package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -0
- package/dest/contract_function_simulator/contract_function_simulator.js +495 -0
- package/dest/contract_function_simulator/ephemeral_array_service.d.ts +28 -0
- package/dest/contract_function_simulator/ephemeral_array_service.d.ts.map +1 -0
- package/dest/contract_function_simulator/ephemeral_array_service.js +78 -0
- package/dest/contract_function_simulator/execution_note_cache.d.ts +98 -0
- package/dest/contract_function_simulator/execution_note_cache.d.ts.map +1 -0
- package/dest/contract_function_simulator/execution_note_cache.js +189 -0
- package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts +12 -0
- package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts.map +1 -0
- package/dest/contract_function_simulator/execution_tagging_index_cache.js +30 -0
- package/dest/contract_function_simulator/hashed_values_cache.d.ts +28 -0
- package/dest/contract_function_simulator/hashed_values_cache.d.ts.map +1 -0
- package/dest/contract_function_simulator/hashed_values_cache.js +36 -0
- package/dest/contract_function_simulator/index.d.ts +36 -0
- package/dest/contract_function_simulator/index.d.ts.map +1 -0
- package/dest/contract_function_simulator/index.js +20 -0
- package/dest/contract_function_simulator/noir-structs/bounded_vec.d.ts +29 -0
- package/dest/contract_function_simulator/noir-structs/bounded_vec.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/bounded_vec.js +30 -0
- package/dest/contract_function_simulator/noir-structs/contract_class_log_data.d.ts +9 -0
- package/dest/contract_function_simulator/noir-structs/contract_class_log_data.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/contract_class_log_data.js +1 -0
- package/dest/contract_function_simulator/noir-structs/embedded_curve_point.d.ts +7 -0
- package/dest/contract_function_simulator/noir-structs/embedded_curve_point.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/embedded_curve_point.js +1 -0
- package/dest/contract_function_simulator/noir-structs/ephemeral_array.d.ts +37 -0
- package/dest/contract_function_simulator/noir-structs/ephemeral_array.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/ephemeral_array.js +59 -0
- package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts +20 -0
- package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/event_validation_request.js +39 -0
- package/dest/contract_function_simulator/noir-structs/fact.d.ts +16 -0
- package/dest/contract_function_simulator/noir-structs/fact.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/fact.js +6 -0
- package/dest/contract_function_simulator/noir-structs/fact_collection.d.ts +27 -0
- package/dest/contract_function_simulator/noir-structs/fact_collection.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/fact_collection.js +31 -0
- package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts +25 -0
- package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/log_retrieval_request.js +14 -0
- package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts +19 -0
- package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/log_retrieval_response.js +4 -0
- package/dest/contract_function_simulator/noir-structs/note_data.d.ts +27 -0
- package/dest/contract_function_simulator/noir-structs/note_data.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/note_data.js +3 -0
- package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts +22 -0
- package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/note_validation_request.js +47 -0
- package/dest/contract_function_simulator/noir-structs/nullifier_membership_witness_data.d.ts +12 -0
- package/dest/contract_function_simulator/noir-structs/nullifier_membership_witness_data.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/nullifier_membership_witness_data.js +6 -0
- package/dest/contract_function_simulator/noir-structs/option.d.ts +59 -0
- package/dest/contract_function_simulator/noir-structs/option.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/option.js +67 -0
- package/dest/contract_function_simulator/noir-structs/origin_block.d.ts +11 -0
- package/dest/contract_function_simulator/noir-structs/origin_block.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/origin_block.js +5 -0
- package/dest/contract_function_simulator/noir-structs/pending_tagged_log.d.ts +11 -0
- package/dest/contract_function_simulator/noir-structs/pending_tagged_log.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/pending_tagged_log.js +4 -0
- package/dest/contract_function_simulator/noir-structs/provided_secret.d.ts +8 -0
- package/dest/contract_function_simulator/noir-structs/provided_secret.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/provided_secret.js +1 -0
- package/dest/contract_function_simulator/noir-structs/public_data_witness_data.d.ts +13 -0
- package/dest/contract_function_simulator/noir-structs/public_data_witness_data.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/public_data_witness_data.js +3 -0
- package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.d.ts +28 -0
- package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.js +50 -0
- package/dest/contract_function_simulator/noir-structs/resolved_tx.d.ts +19 -0
- package/dest/contract_function_simulator/noir-structs/resolved_tx.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/resolved_tx.js +9 -0
- package/dest/contract_function_simulator/noir-structs/tx_effect_data.d.ts +15 -0
- package/dest/contract_function_simulator/noir-structs/tx_effect_data.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/tx_effect_data.js +5 -0
- package/dest/contract_function_simulator/noir-structs/utility_context.d.ts +11 -0
- package/dest/contract_function_simulator/noir-structs/utility_context.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/utility_context.js +3 -0
- package/dest/contract_function_simulator/oracle/acir_callback.d.ts +21 -0
- package/dest/contract_function_simulator/oracle/acir_callback.d.ts.map +1 -0
- package/dest/contract_function_simulator/oracle/acir_callback.js +115 -0
- package/dest/contract_function_simulator/oracle/index.d.ts +3 -0
- package/dest/contract_function_simulator/oracle/index.d.ts.map +1 -0
- package/dest/contract_function_simulator/oracle/index.js +2 -0
- package/dest/contract_function_simulator/oracle/interfaces.d.ts +24 -0
- package/dest/contract_function_simulator/oracle/interfaces.d.ts.map +1 -0
- package/dest/contract_function_simulator/oracle/interfaces.js +4 -0
- package/dest/contract_function_simulator/oracle/legacy_oracle_registry.d.ts +39 -0
- package/dest/contract_function_simulator/oracle/legacy_oracle_registry.d.ts.map +1 -0
- package/dest/contract_function_simulator/oracle/legacy_oracle_registry.js +107 -0
- package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts +28 -0
- package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts.map +1 -0
- package/dest/contract_function_simulator/oracle/note_packing_utils.js +54 -0
- package/dest/contract_function_simulator/oracle/oracle_registry.d.ts +139 -0
- package/dest/contract_function_simulator/oracle/oracle_registry.d.ts.map +1 -0
- package/dest/contract_function_simulator/oracle/oracle_registry.js +1024 -0
- package/dest/contract_function_simulator/oracle/oracle_type_mappings.d.ts +292 -0
- package/dest/contract_function_simulator/oracle/oracle_type_mappings.d.ts.map +1 -0
- package/dest/contract_function_simulator/oracle/oracle_type_mappings.js +1258 -0
- package/dest/contract_function_simulator/oracle/private_execution.d.ts +23 -0
- package/dest/contract_function_simulator/oracle/private_execution.d.ts.map +1 -0
- package/dest/contract_function_simulator/oracle/private_execution.js +88 -0
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +226 -0
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -0
- package/dest/contract_function_simulator/oracle/private_execution_oracle.js +585 -0
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +333 -0
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -0
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +900 -0
- package/dest/contract_function_simulator/pick_notes.d.ts +85 -0
- package/dest/contract_function_simulator/pick_notes.d.ts.map +1 -0
- package/dest/contract_function_simulator/pick_notes.js +68 -0
- package/dest/contract_function_simulator/transient_array_service.d.ts +31 -0
- package/dest/contract_function_simulator/transient_array_service.d.ts.map +1 -0
- package/dest/contract_function_simulator/transient_array_service.js +62 -0
- package/dest/contract_logging.d.ts +27 -0
- package/dest/contract_logging.d.ts.map +1 -0
- package/dest/contract_logging.js +38 -0
- package/dest/debug/pxe_debug_utils.d.ts +38 -0
- package/dest/debug/pxe_debug_utils.d.ts.map +1 -0
- package/dest/debug/pxe_debug_utils.js +44 -0
- package/dest/entrypoints/client/bundle/index.d.ts +10 -0
- package/dest/entrypoints/client/bundle/index.d.ts.map +1 -0
- package/dest/entrypoints/client/bundle/index.js +8 -0
- package/dest/entrypoints/client/bundle/utils.d.ts +16 -0
- package/dest/entrypoints/client/bundle/utils.d.ts.map +1 -0
- package/dest/entrypoints/client/bundle/utils.js +78 -0
- package/dest/entrypoints/client/lazy/index.d.ts +10 -0
- package/dest/entrypoints/client/lazy/index.d.ts.map +1 -0
- package/dest/entrypoints/client/lazy/index.js +8 -0
- package/dest/entrypoints/client/lazy/utils.d.ts +15 -0
- package/dest/entrypoints/client/lazy/utils.d.ts.map +1 -0
- package/dest/entrypoints/client/lazy/utils.js +77 -0
- package/dest/entrypoints/client/store.d.ts +14 -0
- package/dest/entrypoints/client/store.d.ts.map +1 -0
- package/dest/entrypoints/client/store.js +42 -0
- package/dest/entrypoints/pxe_creation_options.d.ts +32 -0
- package/dest/entrypoints/pxe_creation_options.d.ts.map +1 -0
- package/dest/entrypoints/pxe_creation_options.js +3 -0
- package/dest/entrypoints/server/circuit_recording/circuit_recorder.d.ts +121 -0
- package/dest/entrypoints/server/circuit_recording/circuit_recorder.d.ts.map +1 -0
- package/dest/entrypoints/server/circuit_recording/circuit_recorder.js +208 -0
- package/dest/entrypoints/server/circuit_recording/file_circuit_recorder.d.ts +20 -0
- package/dest/entrypoints/server/circuit_recording/file_circuit_recorder.d.ts.map +1 -0
- package/dest/entrypoints/server/circuit_recording/file_circuit_recorder.js +131 -0
- package/dest/entrypoints/server/circuit_recording/memory_circuit_recorder.d.ts +10 -0
- package/dest/entrypoints/server/circuit_recording/memory_circuit_recorder.d.ts.map +1 -0
- package/dest/entrypoints/server/circuit_recording/memory_circuit_recorder.js +9 -0
- package/dest/entrypoints/server/circuit_recording/simulator_recorder_wrapper.d.ts +18 -0
- package/dest/entrypoints/server/circuit_recording/simulator_recorder_wrapper.d.ts.map +1 -0
- package/dest/entrypoints/server/circuit_recording/simulator_recorder_wrapper.js +41 -0
- package/dest/entrypoints/server/index.d.ts +17 -0
- package/dest/entrypoints/server/index.d.ts.map +1 -0
- package/dest/entrypoints/server/index.js +14 -0
- package/dest/entrypoints/server/store.d.ts +18 -0
- package/dest/entrypoints/server/store.d.ts.map +1 -0
- package/dest/entrypoints/server/store.js +28 -0
- package/dest/entrypoints/server/utils.d.ts +9 -0
- package/dest/entrypoints/server/utils.d.ts.map +1 -0
- package/dest/entrypoints/server/utils.js +84 -0
- package/dest/error_enriching.d.ts +13 -0
- package/dest/error_enriching.d.ts.map +1 -0
- package/dest/error_enriching.js +80 -0
- package/dest/events/event_service.d.ts +30 -0
- package/dest/events/event_service.d.ts.map +1 -0
- package/dest/events/event_service.js +76 -0
- package/dest/events/index.d.ts +2 -0
- package/dest/events/index.d.ts.map +1 -0
- package/dest/events/index.js +1 -0
- package/dest/events/private_event_filter_validator.d.ts +10 -0
- package/dest/events/private_event_filter_validator.d.ts.map +1 -0
- package/dest/events/private_event_filter_validator.js +53 -0
- package/dest/hooks/authorize_utility_call.d.ts +41 -0
- package/dest/hooks/authorize_utility_call.d.ts.map +1 -0
- package/dest/hooks/authorize_utility_call.js +4 -0
- package/dest/hooks/execution_hooks.d.ts +62 -0
- package/dest/hooks/execution_hooks.d.ts.map +1 -0
- package/dest/hooks/execution_hooks.js +9 -0
- package/dest/hooks/index.d.ts +5 -0
- package/dest/hooks/index.d.ts.map +1 -0
- package/dest/hooks/index.js +2 -0
- package/dest/hooks/resolve_custom_request.d.ts +23 -0
- package/dest/hooks/resolve_custom_request.d.ts.map +1 -0
- package/dest/hooks/resolve_custom_request.js +3 -0
- package/dest/hooks/resolve_tagging_secret_strategy.d.ts +50 -0
- package/dest/hooks/resolve_tagging_secret_strategy.d.ts.map +1 -0
- package/dest/hooks/resolve_tagging_secret_strategy.js +3 -0
- package/dest/logs/log_service.d.ts +40 -0
- package/dest/logs/log_service.d.ts.map +1 -0
- package/dest/logs/log_service.js +217 -0
- package/dest/messages/tx_resolver_service.d.ts +28 -0
- package/dest/messages/tx_resolver_service.d.ts.map +1 -0
- package/dest/messages/tx_resolver_service.js +62 -0
- package/dest/node/benchmarked_node.d.ts +22 -0
- package/dest/node/benchmarked_node.d.ts.map +1 -0
- package/dest/node/benchmarked_node.js +93 -0
- package/dest/node/caching_aztec_node.d.ts +24 -0
- package/dest/node/caching_aztec_node.d.ts.map +1 -0
- package/dest/node/caching_aztec_node.js +268 -0
- package/dest/notes/index.d.ts +2 -0
- package/dest/notes/index.d.ts.map +1 -0
- package/dest/notes/index.js +1 -0
- package/dest/notes/note_service.d.ts +77 -0
- package/dest/notes/note_service.d.ts.map +1 -0
- package/dest/notes/note_service.js +173 -0
- package/dest/notes_filter.d.ts +24 -0
- package/dest/notes_filter.d.ts.map +1 -0
- package/dest/notes_filter.js +4 -0
- package/dest/operation_lifecycle.d.ts +45 -0
- package/dest/operation_lifecycle.d.ts.map +1 -0
- package/dest/operation_lifecycle.js +68 -0
- package/dest/operation_queue.d.ts +75 -0
- package/dest/operation_queue.d.ts.map +1 -0
- package/dest/operation_queue.js +100 -0
- package/dest/oracle_version.d.ts +4 -0
- package/dest/oracle_version.d.ts.map +1 -0
- package/dest/oracle_version.js +21 -0
- package/dest/private_kernel/batch_planner.d.ts +47 -0
- package/dest/private_kernel/batch_planner.d.ts.map +1 -0
- package/dest/private_kernel/batch_planner.js +104 -0
- package/dest/private_kernel/hints/compute_tx_expiration_timestamp.d.ts +4 -0
- package/dest/private_kernel/hints/compute_tx_expiration_timestamp.d.ts.map +1 -0
- package/dest/private_kernel/hints/compute_tx_expiration_timestamp.js +41 -0
- package/dest/private_kernel/hints/index.d.ts +3 -0
- package/dest/private_kernel/hints/index.d.ts.map +1 -0
- package/dest/private_kernel/hints/index.js +2 -0
- package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts +29 -0
- package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts.map +1 -0
- package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.js +343 -0
- package/dest/private_kernel/hints/test_utils.d.ts +122 -0
- package/dest/private_kernel/hints/test_utils.d.ts.map +1 -0
- package/dest/private_kernel/hints/test_utils.js +202 -0
- package/dest/private_kernel/index.d.ts +3 -0
- package/dest/private_kernel/index.d.ts.map +1 -0
- package/dest/private_kernel/index.js +2 -0
- package/dest/private_kernel/private_kernel_execution_prover.d.ts +49 -0
- package/dest/private_kernel/private_kernel_execution_prover.d.ts.map +1 -0
- package/dest/private_kernel/private_kernel_execution_prover.js +408 -0
- package/dest/private_kernel/private_kernel_oracle.d.ts +65 -0
- package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -0
- package/dest/private_kernel/private_kernel_oracle.js +110 -0
- package/dest/pxe.d.ts +364 -0
- package/dest/pxe.d.ts.map +1 -0
- package/dest/pxe.js +903 -0
- package/dest/storage/address_store/address_store.d.ts +11 -0
- package/dest/storage/address_store/address_store.d.ts.map +1 -0
- package/dest/storage/address_store/address_store.js +49 -0
- package/dest/storage/address_store/index.d.ts +2 -0
- package/dest/storage/address_store/index.d.ts.map +1 -0
- package/dest/storage/address_store/index.js +1 -0
- package/dest/storage/allowed_scopes.d.ts +6 -0
- package/dest/storage/allowed_scopes.d.ts.map +1 -0
- package/dest/storage/allowed_scopes.js +7 -0
- package/dest/storage/anchor_block_store/anchor_block_store.d.ts +20 -0
- package/dest/storage/anchor_block_store/anchor_block_store.d.ts.map +1 -0
- package/dest/storage/anchor_block_store/anchor_block_store.js +28 -0
- package/dest/storage/anchor_block_store/index.d.ts +2 -0
- package/dest/storage/anchor_block_store/index.d.ts.map +1 -0
- package/dest/storage/anchor_block_store/index.js +1 -0
- package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.d.ts +42 -0
- package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.d.ts.map +1 -0
- package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.js +93 -0
- package/dest/storage/backwards_compatibility_tests/schema_tests.d.ts +15 -0
- package/dest/storage/backwards_compatibility_tests/schema_tests.d.ts.map +1 -0
- package/dest/storage/backwards_compatibility_tests/schema_tests.js +674 -0
- package/dest/storage/backwards_compatibility_tests/store_spy.d.ts +19 -0
- package/dest/storage/backwards_compatibility_tests/store_spy.d.ts.map +1 -0
- package/dest/storage/backwards_compatibility_tests/store_spy.js +63 -0
- package/dest/storage/base_staging_store.d.ts +110 -0
- package/dest/storage/base_staging_store.d.ts.map +1 -0
- package/dest/storage/base_staging_store.js +141 -0
- package/dest/storage/capsule_store/capsule_service.d.ts +22 -0
- package/dest/storage/capsule_store/capsule_service.d.ts.map +1 -0
- package/dest/storage/capsule_store/capsule_service.js +47 -0
- package/dest/storage/capsule_store/capsule_store.d.ts +72 -0
- package/dest/storage/capsule_store/capsule_store.d.ts.map +1 -0
- package/dest/storage/capsule_store/capsule_store.js +256 -0
- package/dest/storage/capsule_store/index.d.ts +3 -0
- package/dest/storage/capsule_store/index.d.ts.map +1 -0
- package/dest/storage/capsule_store/index.js +2 -0
- package/dest/storage/contract_store/contract_store.d.ts +96 -0
- package/dest/storage/contract_store/contract_store.d.ts.map +1 -0
- package/dest/storage/contract_store/contract_store.js +282 -0
- package/dest/storage/contract_store/index.d.ts +2 -0
- package/dest/storage/contract_store/index.d.ts.map +1 -0
- package/dest/storage/contract_store/index.js +1 -0
- package/dest/storage/contract_store/private_functions_tree.d.ts +27 -0
- package/dest/storage/contract_store/private_functions_tree.d.ts.map +1 -0
- package/dest/storage/contract_store/private_functions_tree.js +48 -0
- package/dest/storage/fact_store/fact_service.d.ts +23 -0
- package/dest/storage/fact_store/fact_service.d.ts.map +1 -0
- package/dest/storage/fact_store/fact_service.js +45 -0
- package/dest/storage/fact_store/fact_store.d.ts +101 -0
- package/dest/storage/fact_store/fact_store.d.ts.map +1 -0
- package/dest/storage/fact_store/fact_store.js +350 -0
- package/dest/storage/fact_store/fact_store_keys.d.ts +34 -0
- package/dest/storage/fact_store/fact_store_keys.d.ts.map +1 -0
- package/dest/storage/fact_store/fact_store_keys.js +50 -0
- package/dest/storage/fact_store/index.d.ts +6 -0
- package/dest/storage/fact_store/index.d.ts.map +1 -0
- package/dest/storage/fact_store/index.js +4 -0
- package/dest/storage/fact_store/origin_state.d.ts +59 -0
- package/dest/storage/fact_store/origin_state.d.ts.map +1 -0
- package/dest/storage/fact_store/origin_state.js +60 -0
- package/dest/storage/fact_store/stored_fact.d.ts +32 -0
- package/dest/storage/fact_store/stored_fact.d.ts.map +1 -0
- package/dest/storage/fact_store/stored_fact.js +64 -0
- package/dest/storage/index.d.ts +10 -0
- package/dest/storage/index.d.ts.map +1 -0
- package/dest/storage/index.js +9 -0
- package/dest/storage/metadata.d.ts +2 -0
- package/dest/storage/metadata.d.ts.map +1 -0
- package/dest/storage/metadata.js +1 -0
- package/dest/storage/note_store/index.d.ts +3 -0
- package/dest/storage/note_store/index.d.ts.map +1 -0
- package/dest/storage/note_store/index.js +2 -0
- package/dest/storage/note_store/note_store.d.ts +92 -0
- package/dest/storage/note_store/note_store.d.ts.map +1 -0
- package/dest/storage/note_store/note_store.js +273 -0
- package/dest/storage/note_store/stored_note.d.ts +11 -0
- package/dest/storage/note_store/stored_note.d.ts.map +1 -0
- package/dest/storage/note_store/stored_note.js +27 -0
- package/dest/storage/note_store/test_utils.d.ts +9 -0
- package/dest/storage/note_store/test_utils.d.ts.map +1 -0
- package/dest/storage/note_store/test_utils.js +10 -0
- package/dest/storage/open_pxe_stores.d.ts +35 -0
- package/dest/storage/open_pxe_stores.d.ts.map +1 -0
- package/dest/storage/open_pxe_stores.js +29 -0
- package/dest/storage/private_event_store/private_event_store.d.ts +90 -0
- package/dest/storage/private_event_store/private_event_store.d.ts.map +1 -0
- package/dest/storage/private_event_store/private_event_store.js +276 -0
- package/dest/storage/private_event_store/stored_private_event.d.ts +23 -0
- package/dest/storage/private_event_store/stored_private_event.d.ts.map +1 -0
- package/dest/storage/private_event_store/stored_private_event.js +56 -0
- package/dest/storage/rollbackable.d.ts +15 -0
- package/dest/storage/rollbackable.d.ts.map +1 -0
- package/dest/storage/rollbackable.js +3 -0
- package/dest/storage/staged_write_coordinator.d.ts +103 -0
- package/dest/storage/staged_write_coordinator.d.ts.map +1 -0
- package/dest/storage/staged_write_coordinator.js +141 -0
- package/dest/storage/store_identity.d.ts +35 -0
- package/dest/storage/store_identity.d.ts.map +1 -0
- package/dest/storage/store_identity.js +44 -0
- package/dest/storage/tagging_store/index.d.ts +4 -0
- package/dest/storage/tagging_store/index.d.ts.map +1 -0
- package/dest/storage/tagging_store/index.js +3 -0
- package/dest/storage/tagging_store/recipient_tagging_store.d.ts +36 -0
- package/dest/storage/tagging_store/recipient_tagging_store.d.ts.map +1 -0
- package/dest/storage/tagging_store/recipient_tagging_store.js +74 -0
- package/dest/storage/tagging_store/sender_tagging_store.d.ts +113 -0
- package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -0
- package/dest/storage/tagging_store/sender_tagging_store.js +432 -0
- package/dest/storage/tagging_store/tagging_secret_sources_store.d.ts +51 -0
- package/dest/storage/tagging_store/tagging_secret_sources_store.d.ts.map +1 -0
- package/dest/storage/tagging_store/tagging_secret_sources_store.js +105 -0
- package/dest/tagging/constants.d.ts +11 -0
- package/dest/tagging/constants.d.ts.map +1 -0
- package/dest/tagging/constants.js +38 -0
- package/dest/tagging/get_all_logs_by_tags.d.ts +69 -0
- package/dest/tagging/get_all_logs_by_tags.d.ts.map +1 -0
- package/dest/tagging/get_all_logs_by_tags.js +79 -0
- package/dest/tagging/index.d.ts +18 -0
- package/dest/tagging/index.d.ts.map +1 -0
- package/dest/tagging/index.js +16 -0
- package/dest/tagging/persist_sender_tagging_index_ranges.d.ts +31 -0
- package/dest/tagging/persist_sender_tagging_index_ranges.d.ts.map +1 -0
- package/dest/tagging/persist_sender_tagging_index_ranges.js +43 -0
- package/dest/tagging/recipient_sync/sync_tagged_private_logs.d.ts +75 -0
- package/dest/tagging/recipient_sync/sync_tagged_private_logs.d.ts.map +1 -0
- package/dest/tagging/recipient_sync/sync_tagged_private_logs.js +235 -0
- package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts +12 -0
- package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts.map +1 -0
- package/dest/tagging/recipient_sync/utils/find_highest_indexes.js +20 -0
- package/dest/tagging/reconcile_tagging_index_ranges.d.ts +36 -0
- package/dest/tagging/reconcile_tagging_index_ranges.d.ts.map +1 -0
- package/dest/tagging/reconcile_tagging_index_ranges.js +74 -0
- package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts +20 -0
- package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts.map +1 -0
- package/dest/tagging/sender_sync/sync_sender_tagging_indexes.js +77 -0
- package/dest/tagging/sender_sync/utils/classify_pending_txs.d.ts +22 -0
- package/dest/tagging/sender_sync/utils/classify_pending_txs.d.ts.map +1 -0
- package/dest/tagging/sender_sync/utils/classify_pending_txs.js +62 -0
- package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts +30 -0
- package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts.map +1 -0
- package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.js +74 -0
- package/dest/tagging/sender_sync/utils/resolve_pending_txs.d.ts +29 -0
- package/dest/tagging/sender_sync/utils/resolve_pending_txs.d.ts.map +1 -0
- package/dest/tagging/sender_sync/utils/resolve_pending_txs.js +42 -0
- package/dest/tagging/sender_sync/utils/test_utils.d.ts +16 -0
- package/dest/tagging/sender_sync/utils/test_utils.d.ts.map +1 -0
- package/dest/tagging/sender_sync/utils/test_utils.js +24 -0
- package/dest/tagging/testing/tag_query_test_utils.d.ts +6 -0
- package/dest/tagging/testing/tag_query_test_utils.d.ts.map +1 -0
- package/dest/tagging/testing/tag_query_test_utils.js +10 -0
- package/dest/test_utils.d.ts +3 -0
- package/dest/test_utils.d.ts.map +1 -0
- package/dest/test_utils.js +1 -0
- package/package.json +119 -0
- package/src/bin/check_oracle_version.ts +28 -0
- package/src/bin/index.ts +1 -0
- package/src/bin/oracle_version_helpers.ts +30 -0
- package/src/block_synchronizer/block_stream_source.ts +48 -0
- package/src/block_synchronizer/block_synchronizer.ts +225 -0
- package/src/block_synchronizer/index.ts +1 -0
- package/src/config/index.ts +141 -0
- package/src/config/package_info.ts +3 -0
- package/src/contract/contract_call_graph.ts +121 -0
- package/src/contract/contract_class_service.ts +45 -0
- package/src/contract/contract_sync_service.ts +349 -0
- package/src/contract/helpers.ts +35 -0
- package/src/contract/skip_sync_contracts.ts +23 -0
- package/src/contract_function_simulator/anchored_contract_data.ts +74 -0
- package/src/contract_function_simulator/contract_function_simulator.ts +928 -0
- package/src/contract_function_simulator/ephemeral_array_service.ts +110 -0
- package/src/contract_function_simulator/execution_note_cache.ts +232 -0
- package/src/contract_function_simulator/execution_tagging_index_cache.ts +33 -0
- package/src/contract_function_simulator/hashed_values_cache.ts +47 -0
- package/src/contract_function_simulator/index.ts +107 -0
- package/src/contract_function_simulator/noir-structs/bounded_vec.ts +43 -0
- package/src/contract_function_simulator/noir-structs/contract_class_log_data.ts +9 -0
- package/src/contract_function_simulator/noir-structs/embedded_curve_point.ts +4 -0
- package/src/contract_function_simulator/noir-structs/ephemeral_array.ts +66 -0
- package/src/contract_function_simulator/noir-structs/event_validation_request.ts +52 -0
- package/src/contract_function_simulator/noir-structs/fact.ts +13 -0
- package/src/contract_function_simulator/noir-structs/fact_collection.ts +64 -0
- package/src/contract_function_simulator/noir-structs/log_retrieval_request.ts +35 -0
- package/src/contract_function_simulator/noir-structs/log_retrieval_response.ts +19 -0
- package/src/contract_function_simulator/noir-structs/note_data.ts +27 -0
- package/src/contract_function_simulator/noir-structs/note_validation_request.ts +59 -0
- package/src/contract_function_simulator/noir-structs/nullifier_membership_witness_data.ts +15 -0
- package/src/contract_function_simulator/noir-structs/option.ts +75 -0
- package/src/contract_function_simulator/noir-structs/origin_block.ts +8 -0
- package/src/contract_function_simulator/noir-structs/pending_tagged_log.ts +12 -0
- package/src/contract_function_simulator/noir-structs/provided_secret.ts +5 -0
- package/src/contract_function_simulator/noir-structs/public_data_witness_data.ts +13 -0
- package/src/contract_function_simulator/noir-structs/resolved_tagging_strategy.ts +66 -0
- package/src/contract_function_simulator/noir-structs/resolved_tx.ts +19 -0
- package/src/contract_function_simulator/noir-structs/tx_effect_data.ts +16 -0
- package/src/contract_function_simulator/noir-structs/utility_context.ts +11 -0
- package/src/contract_function_simulator/oracle/acir_callback.ts +154 -0
- package/src/contract_function_simulator/oracle/index.ts +2 -0
- package/src/contract_function_simulator/oracle/interfaces.ts +20 -0
- package/src/contract_function_simulator/oracle/legacy_oracle_registry.ts +147 -0
- package/src/contract_function_simulator/oracle/note_packing_utils.ts +68 -0
- package/src/contract_function_simulator/oracle/oracle_registry.ts +709 -0
- package/src/contract_function_simulator/oracle/oracle_type_mappings.ts +1089 -0
- package/src/contract_function_simulator/oracle/private_execution.ts +140 -0
- package/src/contract_function_simulator/oracle/private_execution_oracle.ts +812 -0
- package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +1341 -0
- package/src/contract_function_simulator/pick_notes.ts +160 -0
- package/src/contract_function_simulator/transient_array_service.ts +91 -0
- package/src/contract_logging.ts +52 -0
- package/src/debug/pxe_debug_utils.ts +89 -0
- package/src/entrypoints/client/bundle/index.ts +9 -0
- package/src/entrypoints/client/bundle/utils.ts +89 -0
- package/src/entrypoints/client/lazy/index.ts +9 -0
- package/src/entrypoints/client/lazy/utils.ts +89 -0
- package/src/entrypoints/client/store.ts +54 -0
- package/src/entrypoints/pxe_creation_options.ts +34 -0
- package/src/entrypoints/server/circuit_recording/circuit_recorder.ts +267 -0
- package/src/entrypoints/server/circuit_recording/file_circuit_recorder.ts +152 -0
- package/src/entrypoints/server/circuit_recording/memory_circuit_recorder.ts +13 -0
- package/src/entrypoints/server/circuit_recording/simulator_recorder_wrapper.ts +90 -0
- package/src/entrypoints/server/index.ts +17 -0
- package/src/entrypoints/server/store.ts +46 -0
- package/src/entrypoints/server/utils.ts +103 -0
- package/src/error_enriching.ts +124 -0
- package/src/events/event_service.ts +129 -0
- package/src/events/index.ts +1 -0
- package/src/events/private_event_filter_validator.ts +66 -0
- package/src/hooks/authorize_utility_call.ts +44 -0
- package/src/hooks/execution_hooks.ts +68 -0
- package/src/hooks/index.ts +13 -0
- package/src/hooks/resolve_custom_request.ts +24 -0
- package/src/hooks/resolve_tagging_secret_strategy.ts +60 -0
- package/src/logs/log_service.ts +295 -0
- package/src/messages/tx_resolver_service.ts +81 -0
- package/src/node/benchmarked_node.ts +141 -0
- package/src/node/caching_aztec_node.ts +407 -0
- package/src/notes/index.ts +1 -0
- package/src/notes/note_service.ts +238 -0
- package/src/notes_filter.ts +24 -0
- package/src/operation_lifecycle.ts +99 -0
- package/src/operation_queue.ts +149 -0
- package/src/oracle_version.ts +22 -0
- package/src/private_kernel/batch_planner.ts +168 -0
- package/src/private_kernel/hints/compute_tx_expiration_timestamp.ts +58 -0
- package/src/private_kernel/hints/index.ts +2 -0
- package/src/private_kernel/hints/private_kernel_reset_private_inputs_builder.ts +553 -0
- package/src/private_kernel/hints/test_utils.ts +318 -0
- package/src/private_kernel/index.ts +2 -0
- package/src/private_kernel/private_kernel_execution_prover.ts +656 -0
- package/src/private_kernel/private_kernel_oracle.ts +184 -0
- package/src/pxe.ts +1417 -0
- package/src/storage/address_store/address_store.ts +66 -0
- package/src/storage/address_store/index.ts +1 -0
- package/src/storage/allowed_scopes.ts +14 -0
- package/src/storage/anchor_block_store/anchor_block_store.ts +35 -0
- package/src/storage/anchor_block_store/index.ts +1 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/AddressStore.json +22 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/AnchorBlockStore.json +3 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/CapsuleStore.json +16 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/ContractStore.json +28 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/FactStore.json +40 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/KeyStore.json +52 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/L2TipsKVStore.json +40 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/NoteStore.json +56 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/PrivateEventStore.json +44 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/RecipientTaggingStore.json +26 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/SenderTaggingStore.json +30 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/TaggingSecretSourcesStore.json +30 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json +117 -0
- package/src/storage/backwards_compatibility_tests/kv_store_snapshot.ts +122 -0
- package/src/storage/backwards_compatibility_tests/schema_tests.ts +813 -0
- package/src/storage/backwards_compatibility_tests/store_spy.ts +73 -0
- package/src/storage/base_staging_store.ts +227 -0
- package/src/storage/capsule_store/capsule_service.ts +97 -0
- package/src/storage/capsule_store/capsule_store.ts +349 -0
- package/src/storage/capsule_store/index.ts +2 -0
- package/src/storage/contract_store/contract_store.ts +403 -0
- package/src/storage/contract_store/index.ts +1 -0
- package/src/storage/contract_store/private_functions_tree.ts +68 -0
- package/src/storage/fact_store/fact_service.ts +70 -0
- package/src/storage/fact_store/fact_store.ts +424 -0
- package/src/storage/fact_store/fact_store_keys.ts +75 -0
- package/src/storage/fact_store/index.ts +15 -0
- package/src/storage/fact_store/origin_state.ts +84 -0
- package/src/storage/fact_store/stored_fact.ts +80 -0
- package/src/storage/index.ts +9 -0
- package/src/storage/metadata.ts +1 -0
- package/src/storage/note_store/index.ts +2 -0
- package/src/storage/note_store/note_store.ts +367 -0
- package/src/storage/note_store/stored_note.ts +26 -0
- package/src/storage/note_store/test_utils.ts +16 -0
- package/src/storage/open_pxe_stores.ts +52 -0
- package/src/storage/private_event_store/private_event_store.ts +383 -0
- package/src/storage/private_event_store/stored_private_event.ts +73 -0
- package/src/storage/rollbackable.ts +14 -0
- package/src/storage/staged_write_coordinator.ts +218 -0
- package/src/storage/store_identity.ts +72 -0
- package/src/storage/tagging_store/index.ts +3 -0
- package/src/storage/tagging_store/recipient_tagging_store.ts +114 -0
- package/src/storage/tagging_store/sender_tagging_store.ts +564 -0
- package/src/storage/tagging_store/tagging_secret_sources_store.ts +138 -0
- package/src/tagging/constants.ts +42 -0
- package/src/tagging/get_all_logs_by_tags.ts +157 -0
- package/src/tagging/index.ts +25 -0
- package/src/tagging/persist_sender_tagging_index_ranges.ts +59 -0
- package/src/tagging/recipient_sync/sync_tagged_private_logs.ts +357 -0
- package/src/tagging/recipient_sync/utils/find_highest_indexes.ts +34 -0
- package/src/tagging/reconcile_tagging_index_ranges.ts +102 -0
- package/src/tagging/sender_sync/sync_sender_tagging_indexes.ts +113 -0
- package/src/tagging/sender_sync/utils/classify_pending_txs.ts +92 -0
- package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +92 -0
- package/src/tagging/sender_sync/utils/resolve_pending_txs.ts +65 -0
- package/src/tagging/sender_sync/utils/test_utils.ts +46 -0
- package/src/tagging/testing/tag_query_test_utils.ts +11 -0
- package/src/test_utils.ts +2 -0
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import fs from 'fs/promises';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import { CircuitRecorder } from './circuit_recorder.js';
|
|
4
|
+
export class FileCircuitRecorder extends CircuitRecorder {
|
|
5
|
+
recordDir;
|
|
6
|
+
#fileState;
|
|
7
|
+
constructor(recordDir, logger){
|
|
8
|
+
super(logger), this.recordDir = recordDir, this.#fileState = new WeakMap();
|
|
9
|
+
}
|
|
10
|
+
async onStart(recording) {
|
|
11
|
+
const recordingStringWithoutClosingBracket = JSON.stringify({
|
|
12
|
+
...recording,
|
|
13
|
+
parent: undefined,
|
|
14
|
+
oracleCalls: undefined
|
|
15
|
+
}, null, 2).slice(0, -2);
|
|
16
|
+
try {
|
|
17
|
+
// Check if the recording directory exists and is a directory
|
|
18
|
+
const stats = await fs.stat(this.recordDir);
|
|
19
|
+
if (!stats.isDirectory()) {
|
|
20
|
+
throw new Error(`Recording path ${this.recordDir} exists but is not a directory`);
|
|
21
|
+
}
|
|
22
|
+
} catch (err) {
|
|
23
|
+
if (err.code === 'ENOENT') {
|
|
24
|
+
// The directory does not exist so we create it
|
|
25
|
+
await fs.mkdir(this.recordDir, {
|
|
26
|
+
recursive: true
|
|
27
|
+
});
|
|
28
|
+
} else {
|
|
29
|
+
throw err;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
const filePath = await FileCircuitRecorder.#computeFilePathAndStoreInitialRecording(this.recordDir, recording.circuitName, recording.functionName, recordingStringWithoutClosingBracket);
|
|
33
|
+
this.#fileState.set(recording, {
|
|
34
|
+
filePath,
|
|
35
|
+
isFirstCall: true
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Computes a unique file path for the recording by trying different counter values.
|
|
40
|
+
* This is needed because multiple recordings of the same circuit could be happening simultaneously or an older
|
|
41
|
+
* recording might be present.
|
|
42
|
+
* @param recordDir - Directory to store the recording
|
|
43
|
+
* @param circuitName - Name of the circuit
|
|
44
|
+
* @param functionName - Name of the circuit function
|
|
45
|
+
* @param recordingContent - Initial recording content
|
|
46
|
+
* @returns A unique file path for the recording
|
|
47
|
+
*/ static async #computeFilePathAndStoreInitialRecording(recordDir, circuitName, functionName, recordingContent) {
|
|
48
|
+
let counter = 0;
|
|
49
|
+
while(true){
|
|
50
|
+
try {
|
|
51
|
+
const filePath = getFilePath(recordDir, circuitName, functionName, counter);
|
|
52
|
+
// Write the initial recording content to the file
|
|
53
|
+
await fs.writeFile(filePath, recordingContent + ',\n "oracleCalls": [\n', {
|
|
54
|
+
flag: 'wx'
|
|
55
|
+
});
|
|
56
|
+
return filePath;
|
|
57
|
+
} catch (err) {
|
|
58
|
+
if (err.code === 'EEXIST') {
|
|
59
|
+
counter++;
|
|
60
|
+
continue;
|
|
61
|
+
}
|
|
62
|
+
throw err;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Records a single oracle/foreign call with its inputs and outputs.
|
|
68
|
+
* @param name - Name of the call
|
|
69
|
+
* @param inputs - Input arguments
|
|
70
|
+
* @param outputs - Output results
|
|
71
|
+
*/ async recordCall(name, inputs, outputs, time) {
|
|
72
|
+
const entry = await super.recordCall(name, inputs, outputs, time);
|
|
73
|
+
const recording = this.currentRecording();
|
|
74
|
+
const state = recording && this.#fileState.get(recording);
|
|
75
|
+
if (state) {
|
|
76
|
+
try {
|
|
77
|
+
const prefix = state.isFirstCall ? ' ' : ' ,';
|
|
78
|
+
state.isFirstCall = false;
|
|
79
|
+
await fs.appendFile(state.filePath, prefix + JSON.stringify(entry) + '\n');
|
|
80
|
+
} catch (err) {
|
|
81
|
+
this.logger.error('Failed to log circuit call', {
|
|
82
|
+
error: err
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return entry;
|
|
87
|
+
}
|
|
88
|
+
/** Closes the recording file with the trailing brackets so the JSON parses. */ async onFinish(recording) {
|
|
89
|
+
const state = this.#fileState.get(recording);
|
|
90
|
+
if (!state) {
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
try {
|
|
94
|
+
await fs.appendFile(state.filePath, ' ]\n}\n');
|
|
95
|
+
} catch (err) {
|
|
96
|
+
this.logger.error('Failed to finalize recording file', {
|
|
97
|
+
error: err
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
/** Closes the recording file with the execution error and trailing brackets so the JSON parses. */ async onError(recording, error) {
|
|
102
|
+
const state = this.#fileState.get(recording);
|
|
103
|
+
if (!state) {
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
try {
|
|
107
|
+
await fs.appendFile(state.filePath, ' ],\n');
|
|
108
|
+
await fs.appendFile(state.filePath, ` "error": ${JSON.stringify(error)}\n`);
|
|
109
|
+
await fs.appendFile(state.filePath, '}\n');
|
|
110
|
+
} catch (err) {
|
|
111
|
+
this.logger.error('Failed to finalize recording file with error', {
|
|
112
|
+
error: err
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Generates a file path for storing circuit recordings. The format of the filename is:
|
|
119
|
+
* `circuit_name_circuit_function_name_YYYY-MM-DD_N.json` where N is a counter to ensure unique filenames.
|
|
120
|
+
* @param recordDir - Base directory for recordings
|
|
121
|
+
* @param circuitName - Name of the circuit
|
|
122
|
+
* @param functionName - Name of the circuit function
|
|
123
|
+
* @param counter - Counter to ensure unique filenames. This is expected to be incremented in a loop until there is no
|
|
124
|
+
* existing file with the same name.
|
|
125
|
+
* @returns A file path for the recording.
|
|
126
|
+
*/ function getFilePath(recordDir, circuitName, functionName, counter) {
|
|
127
|
+
const date = new Date();
|
|
128
|
+
const formattedDate = date.toISOString().split('T')[0];
|
|
129
|
+
const filename = `${circuitName}_${functionName}_${formattedDate}_${counter}.json`;
|
|
130
|
+
return path.join(recordDir, filename);
|
|
131
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Logger } from '@aztec-labs/foundation/log';
|
|
2
|
+
import { CircuitRecorder } from './circuit_recorder.js';
|
|
3
|
+
/**
|
|
4
|
+
* In memory circuit recorder uses the default implementation. This is kept
|
|
5
|
+
* while we decide the fate of the FileCircuitRecorder.
|
|
6
|
+
*/
|
|
7
|
+
export declare class MemoryCircuitRecorder extends CircuitRecorder {
|
|
8
|
+
constructor(logger?: Logger);
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtb3J5X2NpcmN1aXRfcmVjb3JkZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbnRyeXBvaW50cy9zZXJ2ZXIvY2lyY3VpdF9yZWNvcmRpbmcvbWVtb3J5X2NpcmN1aXRfcmVjb3JkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXhEOzs7R0FHRztBQUNILHFCQUFhLHFCQUFzQixTQUFRLGVBQWU7SUFDeEQsWUFBWSxNQUFNLENBQUMsRUFBRSxNQUFNLEVBRTFCO0NBQ0YifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory_circuit_recorder.d.ts","sourceRoot":"","sources":["../../../../src/entrypoints/server/circuit_recording/memory_circuit_recorder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAEzD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,eAAe;IACxD,YAAY,MAAM,CAAC,EAAE,MAAM,EAE1B;CACF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { CircuitRecorder } from './circuit_recorder.js';
|
|
2
|
+
/**
|
|
3
|
+
* In memory circuit recorder uses the default implementation. This is kept
|
|
4
|
+
* while we decide the fate of the FileCircuitRecorder.
|
|
5
|
+
*/ export class MemoryCircuitRecorder extends CircuitRecorder {
|
|
6
|
+
constructor(logger){
|
|
7
|
+
super(logger);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { ForeignCallHandler } from '@aztec/noir-acvm_js';
|
|
2
|
+
import type { ACIRCallback, ACIRExecutionResult, ACVMSuccess, ACVMWitness, CircuitSimulator } from '@aztec-labs/simulator/client';
|
|
3
|
+
import type { FunctionArtifactWithContractName } from '@aztec-labs/stdlib/abi';
|
|
4
|
+
import type { NoirCompiledCircuitWithName } from '@aztec-labs/stdlib/noir';
|
|
5
|
+
import type { CircuitRecorder } from './circuit_recorder.js';
|
|
6
|
+
/**
|
|
7
|
+
* Takes a circuit simulator and wraps it in a circuit recorder. See CircuitRecorder for more details on how circuit
|
|
8
|
+
* recording works.
|
|
9
|
+
*/
|
|
10
|
+
export declare class SimulatorRecorderWrapper implements CircuitSimulator {
|
|
11
|
+
#private;
|
|
12
|
+
private simulator;
|
|
13
|
+
private recorder;
|
|
14
|
+
constructor(simulator: CircuitSimulator, recorder: CircuitRecorder);
|
|
15
|
+
executeProtocolCircuit(input: ACVMWitness, artifact: NoirCompiledCircuitWithName, callback: ForeignCallHandler | undefined): Promise<ACVMSuccess>;
|
|
16
|
+
executeUserCircuit(input: ACVMWitness, artifact: FunctionArtifactWithContractName, callback: ACIRCallback): Promise<ACIRExecutionResult>;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltdWxhdG9yX3JlY29yZGVyX3dyYXBwZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbnRyeXBvaW50cy9zZXJ2ZXIvY2lyY3VpdF9yZWNvcmRpbmcvc2ltdWxhdG9yX3JlY29yZGVyX3dyYXBwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUU5RCxPQUFPLEtBQUssRUFDVixZQUFZLEVBRVosbUJBQW1CLEVBQ25CLFdBQVcsRUFDWCxXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2pCLE1BQU0sOEJBQThCLENBQUM7QUFDdEMsT0FBTyxLQUFLLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMvRSxPQUFPLEtBQUssRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTNFLE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTdEOzs7R0FHRztBQUNILHFCQUFhLHdCQUF5QixZQUFXLGdCQUFnQjs7SUFFN0QsT0FBTyxDQUFDLFNBQVM7SUFDakIsT0FBTyxDQUFDLFFBQVE7SUFGbEIsWUFDVSxTQUFTLEVBQUUsZ0JBQWdCLEVBQzNCLFFBQVEsRUFBRSxlQUFlLEVBQy9CO0lBRUosc0JBQXNCLENBQ3BCLEtBQUssRUFBRSxXQUFXLEVBQ2xCLFFBQVEsRUFBRSwyQkFBMkIsRUFDckMsUUFBUSxFQUFFLGtCQUFrQixHQUFHLFNBQVMsR0FDdkMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQVd0QjtJQUVELGtCQUFrQixDQUNoQixLQUFLLEVBQUUsV0FBVyxFQUNsQixRQUFRLEVBQUUsZ0NBQWdDLEVBQzFDLFFBQVEsRUFBRSxZQUFZLEdBQ3JCLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQVM5QjtDQWtDRiJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simulator_recorder_wrapper.d.ts","sourceRoot":"","sources":["../../../../src/entrypoints/server/circuit_recording/simulator_recorder_wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,OAAO,KAAK,EACV,YAAY,EAEZ,mBAAmB,EACnB,WAAW,EACX,WAAW,EACX,gBAAgB,EACjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAE3E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D;;;GAGG;AACH,qBAAa,wBAAyB,YAAW,gBAAgB;;IAE7D,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,QAAQ;IAFlB,YACU,SAAS,EAAE,gBAAgB,EAC3B,QAAQ,EAAE,eAAe,EAC/B;IAEJ,sBAAsB,CACpB,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,2BAA2B,EACrC,QAAQ,EAAE,kBAAkB,GAAG,SAAS,GACvC,OAAO,CAAC,WAAW,CAAC,CAWtB;IAED,kBAAkB,CAChB,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,gCAAgC,EAC1C,QAAQ,EAAE,YAAY,GACrB,OAAO,CAAC,mBAAmB,CAAC,CAS9B;CAkCF"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Takes a circuit simulator and wraps it in a circuit recorder. See CircuitRecorder for more details on how circuit
|
|
3
|
+
* recording works.
|
|
4
|
+
*/ export class SimulatorRecorderWrapper {
|
|
5
|
+
simulator;
|
|
6
|
+
recorder;
|
|
7
|
+
constructor(simulator, recorder){
|
|
8
|
+
this.simulator = simulator;
|
|
9
|
+
this.recorder = recorder;
|
|
10
|
+
}
|
|
11
|
+
executeProtocolCircuit(input, artifact, callback) {
|
|
12
|
+
const bytecode = Buffer.from(artifact.bytecode, 'base64');
|
|
13
|
+
return this.#simulate((wrappedCallback)=>this.simulator.executeProtocolCircuit(input, artifact, wrappedCallback), input, bytecode, artifact.name, 'main', callback);
|
|
14
|
+
}
|
|
15
|
+
executeUserCircuit(input, artifact, callback) {
|
|
16
|
+
return this.#simulate((wrappedCallback)=>this.simulator.executeUserCircuit(input, artifact, wrappedCallback), input, artifact.bytecode, artifact.contractName, artifact.name, callback);
|
|
17
|
+
}
|
|
18
|
+
async #simulate(simulateFn, input, bytecode, contractName, functionName, callback) {
|
|
19
|
+
// If a callback was provided, we wrap it so that its oracle calls are recorded. The wrapped callback reads the
|
|
20
|
+
// active recording lazily, so it picks up the recording opened by record() below.
|
|
21
|
+
const wrappedCallback = this.recorder.wrapCallback(callback);
|
|
22
|
+
// record() opens a recording for this circuit, runs the simulation within it, and finalizes it. A simulation
|
|
23
|
+
// failure is re-thrown unchanged, so recorder bookkeeping never masks the underlying error.
|
|
24
|
+
const { result, recording } = await this.recorder.record({
|
|
25
|
+
input,
|
|
26
|
+
bytecode,
|
|
27
|
+
circuitName: contractName,
|
|
28
|
+
functionName
|
|
29
|
+
}, ()=>simulateFn(wrappedCallback));
|
|
30
|
+
result.oracles = recording.oracleCalls.reduce((acc, { time, name })=>{
|
|
31
|
+
if (!acc[name]) {
|
|
32
|
+
acc[name] = {
|
|
33
|
+
times: []
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
acc[name].times.push(time);
|
|
37
|
+
return acc;
|
|
38
|
+
}, {});
|
|
39
|
+
return result;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export { type AccountPrivacyKeys, type AccountPrivacySecretKeys } from '@aztec-labs/key-store';
|
|
2
|
+
export * from '../../notes_filter.js';
|
|
3
|
+
export * from '../../pxe.js';
|
|
4
|
+
export * from '../../config/index.js';
|
|
5
|
+
export * from '../../error_enriching.js';
|
|
6
|
+
export * from '../../storage/index.js';
|
|
7
|
+
export * from './utils.js';
|
|
8
|
+
export * from './store.js';
|
|
9
|
+
export { NoteService } from '../../notes/note_service.js';
|
|
10
|
+
export { ORACLE_VERSION_MAJOR, ORACLE_VERSION_MINOR } from '../../oracle_version.js';
|
|
11
|
+
export { type PXECreationOptions } from '../pxe_creation_options.js';
|
|
12
|
+
export { type ChangeSetId, StagedWriteCoordinator } from '../../storage/staged_write_coordinator.js';
|
|
13
|
+
export { runOperation, type OperationContributor } from '../../operation_lifecycle.js';
|
|
14
|
+
export { ContractSyncService } from '../../contract/contract_sync_service.js';
|
|
15
|
+
export { ContractClassService } from '../../contract/contract_class_service.js';
|
|
16
|
+
export { AnchoredContractData } from '../../contract_function_simulator/anchored_contract_data.js';
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbnRyeXBvaW50cy9zZXJ2ZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssa0JBQWtCLEVBQUUsS0FBSyx3QkFBd0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRS9GLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxZQUFZLENBQUM7QUFDM0IsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxLQUFLLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckUsT0FBTyxFQUFFLEtBQUssV0FBVyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDckcsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLG9CQUFvQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDaEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkRBQTZELENBQUMifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/entrypoints/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,kBAAkB,EAAE,KAAK,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAE/F,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,KAAK,WAAW,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AACrG,OAAO,EAAE,YAAY,EAAE,KAAK,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACvF,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,6DAA6D,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export * from '../../notes_filter.js';
|
|
2
|
+
export * from '../../pxe.js';
|
|
3
|
+
export * from '../../config/index.js';
|
|
4
|
+
export * from '../../error_enriching.js';
|
|
5
|
+
export * from '../../storage/index.js';
|
|
6
|
+
export * from './utils.js';
|
|
7
|
+
export * from './store.js';
|
|
8
|
+
export { NoteService } from '../../notes/note_service.js';
|
|
9
|
+
export { ORACLE_VERSION_MAJOR, ORACLE_VERSION_MINOR } from '../../oracle_version.js';
|
|
10
|
+
export { StagedWriteCoordinator } from '../../storage/staged_write_coordinator.js';
|
|
11
|
+
export { runOperation } from '../../operation_lifecycle.js';
|
|
12
|
+
export { ContractSyncService } from '../../contract/contract_sync_service.js';
|
|
13
|
+
export { ContractClassService } from '../../contract/contract_class_service.js';
|
|
14
|
+
export { AnchoredContractData } from '../../contract_function_simulator/anchored_contract_data.js';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { EthAddress } from '@aztec-labs/foundation/eth-address';
|
|
2
|
+
import { type LoggerBindings } from '@aztec-labs/foundation/log';
|
|
3
|
+
import { type AztecLMDBStoreV2 } from '@aztec-labs/kv-store/lmdb-v2';
|
|
4
|
+
/** Location and identity inputs for opening an identity-partitioned PXE-side store. */
|
|
5
|
+
export type IdentityStoreConfig = {
|
|
6
|
+
dataDirectory: string;
|
|
7
|
+
/** Maximum LMDB map size in KB. When omitted, the kv-store default map size applies. */
|
|
8
|
+
dataStoreMapSizeKb?: number;
|
|
9
|
+
l1ChainId: number;
|
|
10
|
+
rollupAddress: EthAddress;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Opens the persistent LMDB store selected by `name` and identity triple `(l1ChainId, rollupAddress, schemaVersion)`.
|
|
14
|
+
* A store exists per identity: reopening with the same identity returns the same data, a different identity selects
|
|
15
|
+
* a different (possibly fresh) store. Callers wanting an ephemeral store use `openTmpStore` explicitly instead.
|
|
16
|
+
*/
|
|
17
|
+
export declare function openStore(name: string, schemaVersion: number, config: IdentityStoreConfig, bindings?: LoggerBindings): Promise<AztecLMDBStoreV2>;
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbnRyeXBvaW50cy9zZXJ2ZXIvc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDckUsT0FBTyxFQUFFLEtBQUssY0FBYyxFQUFnQixNQUFNLDRCQUE0QixDQUFDO0FBQy9FLE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUFlLE1BQU0sOEJBQThCLENBQUM7QUFNbEYsdUZBQXVGO0FBQ3ZGLE1BQU0sTUFBTSxtQkFBbUIsR0FBRztJQUNoQyxhQUFhLEVBQUUsTUFBTSxDQUFDO0lBQ3RCLHdGQUF3RjtJQUN4RixrQkFBa0IsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUM1QixTQUFTLEVBQUUsTUFBTSxDQUFDO0lBQ2xCLGFBQWEsRUFBRSxVQUFVLENBQUM7Q0FDM0IsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCx3QkFBc0IsU0FBUyxDQUM3QixJQUFJLEVBQUUsTUFBTSxFQUNaLGFBQWEsRUFBRSxNQUFNLEVBQ3JCLE1BQU0sRUFBRSxtQkFBbUIsRUFDM0IsUUFBUSxDQUFDLEVBQUUsY0FBYyxHQUN4QixPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FrQjNCIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/entrypoints/server/store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,KAAK,cAAc,EAAgB,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAE,KAAK,gBAAgB,EAAe,MAAM,8BAA8B,CAAC;AAMlF,uFAAuF;AACvF,MAAM,MAAM,mBAAmB,GAAG;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,wFAAwF;IACxF,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,UAAU,CAAC;CAC3B,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,SAAS,CAC7B,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,mBAAmB,EAC3B,QAAQ,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC,gBAAgB,CAAC,CAkB3B"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { createLogger } from '@aztec-labs/foundation/log';
|
|
2
|
+
import { openStoreAt } from '@aztec-labs/kv-store/lmdb-v2';
|
|
3
|
+
import { mkdir } from 'fs/promises';
|
|
4
|
+
import { join } from 'path';
|
|
5
|
+
import { storeIdentitySlug } from '../../storage/store_identity.js';
|
|
6
|
+
/**
|
|
7
|
+
* Opens the persistent LMDB store selected by `name` and identity triple `(l1ChainId, rollupAddress, schemaVersion)`.
|
|
8
|
+
* A store exists per identity: reopening with the same identity returns the same data, a different identity selects
|
|
9
|
+
* a different (possibly fresh) store. Callers wanting an ephemeral store use `openTmpStore` explicitly instead.
|
|
10
|
+
*/ export async function openStore(name, schemaVersion, config, bindings) {
|
|
11
|
+
// Stores live under `<dataDirectory>/<name>-stores/<l1ChainId>-<rollupAddress>-v<schemaVersion>`, a sibling of the
|
|
12
|
+
// legacy `<dataDirectory>/<name>` directory: older binaries reset the legacy directory on a rollup mismatch, so
|
|
13
|
+
// per-identity stores must not nest inside it.
|
|
14
|
+
const subDir = join(config.dataDirectory, `${name}-stores`, storeIdentitySlug({
|
|
15
|
+
l1ChainId: config.l1ChainId,
|
|
16
|
+
rollupAddress: config.rollupAddress,
|
|
17
|
+
schemaVersion
|
|
18
|
+
}));
|
|
19
|
+
await mkdir(subDir, {
|
|
20
|
+
recursive: true
|
|
21
|
+
});
|
|
22
|
+
createLogger(`pxe:data:${name}`, bindings).info(`Opening ${name} data store (LMDB v2)`, {
|
|
23
|
+
storeName: name,
|
|
24
|
+
subDir,
|
|
25
|
+
dataStoreMapSizeKb: config.dataStoreMapSizeKb
|
|
26
|
+
});
|
|
27
|
+
return openStoreAt(subDir, config.dataStoreMapSizeKb, undefined, bindings);
|
|
28
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { L1ContractAddresses } from '@aztec-labs/ethereum/l1-contract-addresses';
|
|
2
|
+
import type { AztecNode } from '@aztec-labs/stdlib/interfaces/client';
|
|
3
|
+
import type { PXEConfig } from '../../config/index.js';
|
|
4
|
+
import { PXE } from '../../pxe.js';
|
|
5
|
+
import { type PXECreationOptions } from '../pxe_creation_options.js';
|
|
6
|
+
type PXEConfigWithoutDefaults = Omit<PXEConfig, 'l1ChainId' | 'l2BlockBatchSize' | 'rollupVersion' | keyof L1ContractAddresses>;
|
|
7
|
+
export declare function createPXE(aztecNode: AztecNode, config: PXEConfigWithoutDefaults, options?: PXECreationOptions): Promise<PXE>;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbnRyeXBvaW50cy9zZXJ2ZXIvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQVF0RixPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUV0RSxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRW5DLE9BQU8sRUFBRSxLQUFLLGtCQUFrQixFQUF5QixNQUFNLDRCQUE0QixDQUFDO0FBTTVGLEtBQUssd0JBQXdCLEdBQUcsSUFBSSxDQUNsQyxTQUFTLEVBQ1QsV0FBVyxHQUFHLGtCQUFrQixHQUFHLGVBQWUsR0FBRyxNQUFNLG1CQUFtQixDQUMvRSxDQUFDO0FBRUYsd0JBQXNCLFNBQVMsQ0FDN0IsU0FBUyxFQUFFLFNBQVMsRUFDcEIsTUFBTSxFQUFFLHdCQUF3QixFQUNoQyxPQUFPLEdBQUUsa0JBQW9DLGdCQTBFOUMifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/entrypoints/server/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AAQtF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAEtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAEnC,OAAO,EAAE,KAAK,kBAAkB,EAAyB,MAAM,4BAA4B,CAAC;AAM5F,KAAK,wBAAwB,GAAG,IAAI,CAClC,SAAS,EACT,WAAW,GAAG,kBAAkB,GAAG,eAAe,GAAG,MAAM,mBAAmB,CAC/E,CAAC;AAEF,wBAAsB,SAAS,CAC7B,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,wBAAwB,EAChC,OAAO,GAAE,kBAAoC,gBA0E9C"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { BBBundlePrivateKernelProver } from '@aztec-labs/bb-prover/client/bundle';
|
|
2
|
+
import { createLogger } from '@aztec-labs/foundation/log';
|
|
3
|
+
import { openTmpStore } from '@aztec-labs/kv-store/lmdb-v2';
|
|
4
|
+
import { BundledProtocolContractsProvider } from '@aztec-labs/protocol-contracts/providers/bundle';
|
|
5
|
+
import { WASMSimulator } from '@aztec-labs/simulator/client';
|
|
6
|
+
import { getStandardAuthRegistry } from '@aztec-labs/standard-contracts/auth-registry';
|
|
7
|
+
import { getStandardHandshakeRegistry } from '@aztec-labs/standard-contracts/handshake-registry';
|
|
8
|
+
import { getStandardMultiCallEntrypoint } from '@aztec-labs/standard-contracts/multi-call-entrypoint';
|
|
9
|
+
import { PXE } from '../../pxe.js';
|
|
10
|
+
import { PXE_DATA_SCHEMA_VERSION } from '../../storage/index.js';
|
|
11
|
+
import { isPrivateKernelProver } from '../pxe_creation_options.js';
|
|
12
|
+
import { FileCircuitRecorder } from './circuit_recording/file_circuit_recorder.js';
|
|
13
|
+
import { MemoryCircuitRecorder } from './circuit_recording/memory_circuit_recorder.js';
|
|
14
|
+
import { SimulatorRecorderWrapper } from './circuit_recording/simulator_recorder_wrapper.js';
|
|
15
|
+
import { openStore } from './store.js';
|
|
16
|
+
export async function createPXE(aztecNode, config, options = {
|
|
17
|
+
loggers: {}
|
|
18
|
+
}) {
|
|
19
|
+
const actor = options.loggerActorLabel;
|
|
20
|
+
const recorderLogger = createLogger('simulator:acvm:recording', {
|
|
21
|
+
actor
|
|
22
|
+
});
|
|
23
|
+
const recorder = process.env.CIRCUIT_RECORD_DIR ? new FileCircuitRecorder(process.env.CIRCUIT_RECORD_DIR, recorderLogger) : new MemoryCircuitRecorder(recorderLogger);
|
|
24
|
+
const simulatorLogger = createLogger('wasm-simulator', {
|
|
25
|
+
actor
|
|
26
|
+
});
|
|
27
|
+
const simulator = new SimulatorRecorderWrapper(new WASMSimulator(simulatorLogger), recorder);
|
|
28
|
+
const loggers = options.loggers ?? {};
|
|
29
|
+
const { l1ChainId, l1ContractAddresses, rollupVersion } = await aztecNode.getNodeInfo();
|
|
30
|
+
const configWithContracts = {
|
|
31
|
+
...config,
|
|
32
|
+
...l1ContractAddresses,
|
|
33
|
+
l1ChainId,
|
|
34
|
+
rollupVersion,
|
|
35
|
+
l2BlockBatchSize: 50
|
|
36
|
+
};
|
|
37
|
+
if (!options.store) {
|
|
38
|
+
const storeLogger = loggers.store ?? createLogger('pxe:data:lmdb', {
|
|
39
|
+
actor
|
|
40
|
+
});
|
|
41
|
+
options.store = configWithContracts.dataDirectory ? await openStore('pxe_data', PXE_DATA_SCHEMA_VERSION, {
|
|
42
|
+
dataDirectory: configWithContracts.dataDirectory,
|
|
43
|
+
dataStoreMapSizeKb: configWithContracts.dataStoreMapSizeKb,
|
|
44
|
+
l1ChainId,
|
|
45
|
+
rollupAddress: l1ContractAddresses.rollupAddress
|
|
46
|
+
}, storeLogger.getBindings()) : await openTmpStore('pxe_data', true, configWithContracts.dataStoreMapSizeKb, undefined, storeLogger.getBindings());
|
|
47
|
+
}
|
|
48
|
+
const proverLogger = loggers.prover ?? createLogger('pxe:bb:native', {
|
|
49
|
+
actor
|
|
50
|
+
});
|
|
51
|
+
let prover;
|
|
52
|
+
if (isPrivateKernelProver(options.proverOrOptions)) {
|
|
53
|
+
prover = options.proverOrOptions;
|
|
54
|
+
} else {
|
|
55
|
+
prover = new BBBundlePrivateKernelProver(simulator, {
|
|
56
|
+
...options.proverOrOptions,
|
|
57
|
+
logger: proverLogger
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
const protocolContractsProvider = new BundledProtocolContractsProvider();
|
|
61
|
+
const preloadedContractsProvider = options.preloadedContractsProvider ?? {
|
|
62
|
+
getPreloadedContracts: async ()=>[
|
|
63
|
+
await getStandardMultiCallEntrypoint(),
|
|
64
|
+
await getStandardAuthRegistry(),
|
|
65
|
+
await getStandardHandshakeRegistry()
|
|
66
|
+
]
|
|
67
|
+
};
|
|
68
|
+
const pxeLogger = loggers.pxe ?? createLogger('pxe:service', {
|
|
69
|
+
actor
|
|
70
|
+
});
|
|
71
|
+
const pxe = await PXE.create({
|
|
72
|
+
node: aztecNode,
|
|
73
|
+
nodeDebug: options.nodeDebug,
|
|
74
|
+
store: options.store,
|
|
75
|
+
proofCreator: prover,
|
|
76
|
+
simulator,
|
|
77
|
+
protocolContractsProvider,
|
|
78
|
+
preloadedContractsProvider,
|
|
79
|
+
config: configWithContracts,
|
|
80
|
+
loggerOrSuffix: pxeLogger,
|
|
81
|
+
hooks: options.hooks
|
|
82
|
+
});
|
|
83
|
+
return pxe;
|
|
84
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Logger } from '@aztec-labs/foundation/log';
|
|
2
|
+
import { type SimulationError } from '@aztec-labs/stdlib/errors';
|
|
3
|
+
import type { BlockHeader } from '@aztec-labs/stdlib/tx';
|
|
4
|
+
import type { ContractClassService } from './contract/contract_class_service.js';
|
|
5
|
+
import type { ContractStore } from './storage/contract_store/contract_store.js';
|
|
6
|
+
/**
|
|
7
|
+
* Adds contract and function names to a simulation error, if they
|
|
8
|
+
* can be found in the PXE database
|
|
9
|
+
* @param err - The error to enrich.
|
|
10
|
+
*/
|
|
11
|
+
export declare function enrichSimulationError(err: SimulationError, contractStore: ContractStore, contractClassService: ContractClassService, anchorHeader: BlockHeader, logger: Logger): Promise<void>;
|
|
12
|
+
export declare function enrichPublicSimulationError(err: SimulationError, contractStore: ContractStore, contractClassService: ContractClassService, anchorHeader: BlockHeader, logger: Logger): Promise<void>;
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JfZW5yaWNoaW5nLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZXJyb3JfZW5yaWNoaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBS3pELE9BQU8sRUFBRSxLQUFLLGVBQWUsRUFBNkIsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RixPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV6RCxPQUFPLEtBQUssRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ2pGLE9BQU8sS0FBSyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBRWhGOzs7O0dBSUc7QUFDSCx3QkFBc0IscUJBQXFCLENBQ3pDLEdBQUcsRUFBRSxlQUFlLEVBQ3BCLGFBQWEsRUFBRSxhQUFhLEVBQzVCLG9CQUFvQixFQUFFLG9CQUFvQixFQUMxQyxZQUFZLEVBQUUsV0FBVyxFQUN6QixNQUFNLEVBQUUsTUFBTSxpQkFxRGY7QUFFRCx3QkFBc0IsMkJBQTJCLENBQy9DLEdBQUcsRUFBRSxlQUFlLEVBQ3BCLGFBQWEsRUFBRSxhQUFhLEVBQzVCLG9CQUFvQixFQUFFLG9CQUFvQixFQUMxQyxZQUFZLEVBQUUsV0FBVyxFQUN6QixNQUFNLEVBQUUsTUFBTSxpQkEwQ2YifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error_enriching.d.ts","sourceRoot":"","sources":["../src/error_enriching.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAKzD,OAAO,EAAE,KAAK,eAAe,EAA6B,MAAM,2BAA2B,CAAC;AAC5F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAEhF;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,eAAe,EACpB,aAAa,EAAE,aAAa,EAC5B,oBAAoB,EAAE,oBAAoB,EAC1C,YAAY,EAAE,WAAW,EACzB,MAAM,EAAE,MAAM,iBAqDf;AAED,wBAAsB,2BAA2B,CAC/C,GAAG,EAAE,eAAe,EACpB,aAAa,EAAE,aAAa,EAC5B,oBAAoB,EAAE,oBAAoB,EAC1C,YAAY,EAAE,WAAW,EACzB,MAAM,EAAE,MAAM,iBA0Cf"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { allToCompletion } from '@aztec-labs/foundation/promise';
|
|
2
|
+
import { resolveAssertionMessageFromRevertData, resolveOpcodeLocations } from '@aztec-labs/simulator/client';
|
|
3
|
+
import { FunctionSelector } from '@aztec-labs/stdlib/abi';
|
|
4
|
+
import { AztecAddress } from '@aztec-labs/stdlib/aztec-address';
|
|
5
|
+
import { isNoirCallStackUnresolved } from '@aztec-labs/stdlib/errors';
|
|
6
|
+
/**
|
|
7
|
+
* Adds contract and function names to a simulation error, if they
|
|
8
|
+
* can be found in the PXE database
|
|
9
|
+
* @param err - The error to enrich.
|
|
10
|
+
*/ export async function enrichSimulationError(err, contractStore, contractClassService, anchorHeader, logger) {
|
|
11
|
+
// Maps contract addresses to the set of function selectors that were in error.
|
|
12
|
+
// Map and Set do reference equality for their keys instead of value equality, so we store the string
|
|
13
|
+
// representation to get e.g. different contract address objects with the same address value to match.
|
|
14
|
+
// eslint-disable-next-line aztec-custom/no-non-primitive-in-collections
|
|
15
|
+
const mentionedFunctions = new Map();
|
|
16
|
+
err.getCallStack().forEach(({ contractAddress, functionSelector })=>{
|
|
17
|
+
if (!mentionedFunctions.has(contractAddress.toString())) {
|
|
18
|
+
mentionedFunctions.set(contractAddress.toString(), new Set());
|
|
19
|
+
}
|
|
20
|
+
if (functionSelector) {
|
|
21
|
+
mentionedFunctions.get(contractAddress.toString()).add(functionSelector);
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
await allToCompletion([
|
|
25
|
+
...mentionedFunctions.entries()
|
|
26
|
+
].map(async ([contractAddress, fnSelectors])=>{
|
|
27
|
+
const parsedContractAddress = AztecAddress.fromStringUnsafe(contractAddress);
|
|
28
|
+
const classId = await contractClassService.getCurrentClassId(parsedContractAddress, anchorHeader);
|
|
29
|
+
const artifact = classId && await contractStore.getContractArtifact(classId);
|
|
30
|
+
if (artifact) {
|
|
31
|
+
err.enrichWithContractName(parsedContractAddress, artifact.name);
|
|
32
|
+
// Map from function selector to function name. It uses a stringified key for the same reason as mentionedFunctions.
|
|
33
|
+
const selectorToNameMap = new Map();
|
|
34
|
+
await allToCompletion(artifact.functions.map(async (fn)=>{
|
|
35
|
+
const selector = await FunctionSelector.fromNameAndParameters(fn);
|
|
36
|
+
selectorToNameMap.set(selector.toString(), fn.name);
|
|
37
|
+
}));
|
|
38
|
+
for (const fnSelector of fnSelectors){
|
|
39
|
+
if (selectorToNameMap.has(fnSelector.toString())) {
|
|
40
|
+
err.enrichWithFunctionName(parsedContractAddress, fnSelector, selectorToNameMap.get(fnSelector.toString()));
|
|
41
|
+
} else {
|
|
42
|
+
logger.warn(`Could not find function artifact in contract ${artifact.name} for function '${fnSelector}' when enriching error callstack`);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
} else {
|
|
46
|
+
logger.warn(`Could not find contract in database for address: ${parsedContractAddress} when enriching error callstack`);
|
|
47
|
+
}
|
|
48
|
+
}));
|
|
49
|
+
}
|
|
50
|
+
export async function enrichPublicSimulationError(err, contractStore, contractClassService, anchorHeader, logger) {
|
|
51
|
+
const callStack = err.getCallStack();
|
|
52
|
+
const originalFailingFunction = callStack[callStack.length - 1];
|
|
53
|
+
if (!originalFailingFunction) {
|
|
54
|
+
throw new Error(`Original failing function not found when enriching public simulation, missing callstack`);
|
|
55
|
+
}
|
|
56
|
+
const classId = await contractClassService.getCurrentClassId(originalFailingFunction.contractAddress, anchorHeader);
|
|
57
|
+
const artifact = classId && await contractStore.getPublicFunctionArtifact(classId);
|
|
58
|
+
if (!artifact) {
|
|
59
|
+
throw new Error(`Artifact not found when enriching public simulation error. Contract address: ${originalFailingFunction.contractAddress}.`);
|
|
60
|
+
}
|
|
61
|
+
const assertionMessage = resolveAssertionMessageFromRevertData(err.revertData, artifact);
|
|
62
|
+
if (assertionMessage) {
|
|
63
|
+
err.setOriginalMessage(err.getOriginalMessage() + `${assertionMessage}`);
|
|
64
|
+
}
|
|
65
|
+
const debugInfo = await contractStore.getPublicFunctionDebugMetadata(classId);
|
|
66
|
+
const noirCallStack = err.getNoirCallStack();
|
|
67
|
+
if (debugInfo) {
|
|
68
|
+
if (isNoirCallStackUnresolved(noirCallStack)) {
|
|
69
|
+
try {
|
|
70
|
+
// Public functions are simulated as a single Brillig entry point.
|
|
71
|
+
// Thus, we can safely assume here that the Brillig function id is `0`.
|
|
72
|
+
const parsedCallStack = resolveOpcodeLocations(noirCallStack, debugInfo.debugSymbols, debugInfo.files, 0);
|
|
73
|
+
err.setNoirCallStack(parsedCallStack);
|
|
74
|
+
} catch (err) {
|
|
75
|
+
logger.warn(`Could not resolve noir call stack for ${originalFailingFunction.contractAddress.toString()}:${originalFailingFunction.functionName?.toString() ?? ''}: ${err}`);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
await enrichSimulationError(err, contractStore, contractClassService, anchorHeader, logger);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { Fr } from '@aztec-labs/foundation/curves/bn254';
|
|
2
|
+
import type { AztecAddress } from '@aztec-labs/stdlib/aztec-address';
|
|
3
|
+
import type { InBlock } from '@aztec-labs/stdlib/block';
|
|
4
|
+
import type { BlockHeader } from '@aztec-labs/stdlib/tx';
|
|
5
|
+
import type { EventValidationRequest } from '../contract_function_simulator/noir-structs/event_validation_request.js';
|
|
6
|
+
import { PrivateEventStore } from '../storage/private_event_store/private_event_store.js';
|
|
7
|
+
import type { ChangeSetId } from '../storage/staged_write_coordinator.js';
|
|
8
|
+
export declare class EventService {
|
|
9
|
+
#private;
|
|
10
|
+
private readonly anchorBlockHeader;
|
|
11
|
+
private readonly privateEventStore;
|
|
12
|
+
private readonly changeSetId;
|
|
13
|
+
private readonly log;
|
|
14
|
+
constructor(anchorBlockHeader: BlockHeader, privateEventStore: PrivateEventStore, changeSetId: ChangeSetId, log?: import("@aztec-labs/foundation/log").Logger);
|
|
15
|
+
/**
|
|
16
|
+
* Validates and stores a batch of private events against the pre-fetched onchain context of their txs.
|
|
17
|
+
*
|
|
18
|
+
* @param requests - The events to validate and store.
|
|
19
|
+
* @param scope - The scope under which the events are being stored.
|
|
20
|
+
* @param validationTxData - The onchain context of each request's tx, keyed by `TxHash.toString()`. Must contain
|
|
21
|
+
* entries for every request's txHash; missing entries are treated as a node bug and cause an error.
|
|
22
|
+
*/
|
|
23
|
+
validateAndStoreEvents(requests: EventValidationRequest[], scope: AztecAddress, validationTxData: ReadonlyMap<string, EventValidationTxData>): Promise<void>;
|
|
24
|
+
}
|
|
25
|
+
/** The onchain context of the tx an event validation request points at: where it was mined and its nullifiers. */
|
|
26
|
+
export type EventValidationTxData = InBlock & {
|
|
27
|
+
nullifiers: Fr[];
|
|
28
|
+
txIndexInBlock: number;
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRfc2VydmljZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2V2ZW50cy9ldmVudF9zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRzlELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXhELE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXpELE9BQU8sS0FBSyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUVBQXlFLENBQUM7QUFDdEgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDMUYsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFMUUscUJBQWEsWUFBWTs7SUFFckIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUI7SUFDbEMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUI7SUFDbEMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXO0lBQzVCLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRztJQUp0QixZQUNtQixpQkFBaUIsRUFBRSxXQUFXLEVBQzlCLGlCQUFpQixFQUFFLGlCQUFpQixFQUNwQyxXQUFXLEVBQUUsV0FBVyxFQUN4QixHQUFHLDhDQUFvQyxFQUN0RDtJQUVKOzs7Ozs7O09BT0c7SUFDVSxzQkFBc0IsQ0FDakMsUUFBUSxFQUFFLHNCQUFzQixFQUFFLEVBQ2xDLEtBQUssRUFBRSxZQUFZLEVBQ25CLGdCQUFnQixFQUFFLFdBQVcsQ0FBQyxNQUFNLEVBQUUscUJBQXFCLENBQUMsR0FDM0QsT0FBTyxDQUFDLElBQUksQ0FBQyxDQVVmO0NBZ0ZGO0FBRUQsa0hBQWtIO0FBQ2xILE1BQU0sTUFBTSxxQkFBcUIsR0FBRyxPQUFPLEdBQUc7SUFDNUMsVUFBVSxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQ2pCLGNBQWMsRUFBRSxNQUFNLENBQUM7Q0FDeEIsQ0FBQyJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event_service.d.ts","sourceRoot":"","sources":["../../src/events/event_service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,qCAAqC,CAAC;AAG9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yEAAyE,CAAC;AACtH,OAAO,EAAE,iBAAiB,EAAE,MAAM,uDAAuD,CAAC;AAC1F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAE1E,qBAAa,YAAY;;IAErB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,GAAG;IAJtB,YACmB,iBAAiB,EAAE,WAAW,EAC9B,iBAAiB,EAAE,iBAAiB,EACpC,WAAW,EAAE,WAAW,EACxB,GAAG,8CAAoC,EACtD;IAEJ;;;;;;;OAOG;IACU,sBAAsB,CACjC,QAAQ,EAAE,sBAAsB,EAAE,EAClC,KAAK,EAAE,YAAY,EACnB,gBAAgB,EAAE,WAAW,CAAC,MAAM,EAAE,qBAAqB,CAAC,GAC3D,OAAO,CAAC,IAAI,CAAC,CAUf;CAgFF;AAED,kHAAkH;AAClH,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG;IAC5C,UAAU,EAAE,EAAE,EAAE,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC"}
|