@aztec/pxe 0.0.1-commit.d3ec352c → 0.0.1-commit.d58ff9d0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/bin/check_oracle_version.js +48 -29
- 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 +34 -0
- package/dest/bin/oracle_version_helpers.d.ts.map +1 -0
- package/dest/bin/oracle_version_helpers.js +46 -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 +53 -0
- package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -0
- package/dest/block_synchronizer/block_synchronizer.js +209 -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 +14 -5
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +18 -2
- package/dest/config/package_info.js +1 -1
- package/dest/contract/contract_class_service.d.ts +31 -0
- package/dest/contract/contract_class_service.d.ts.map +1 -0
- package/dest/contract/contract_class_service.js +68 -0
- package/dest/contract/contract_sync_service.d.ts +48 -0
- package/dest/contract/contract_sync_service.d.ts.map +1 -0
- package/dest/contract/contract_sync_service.js +116 -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/aztec_node_read_cache.d.ts +39 -0
- package/dest/contract_function_simulator/aztec_node_read_cache.d.ts.map +1 -0
- package/dest/contract_function_simulator/aztec_node_read_cache.js +60 -0
- package/dest/contract_function_simulator/benchmarked_node.d.ts +9 -0
- package/dest/contract_function_simulator/benchmarked_node.d.ts.map +1 -0
- package/dest/contract_function_simulator/benchmarked_node.js +77 -0
- package/dest/contract_function_simulator/contract_function_simulator.d.ts +91 -27
- package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
- package/dest/contract_function_simulator/contract_function_simulator.js +302 -91
- 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 +19 -16
- package/dest/contract_function_simulator/execution_note_cache.d.ts.map +1 -1
- package/dest/contract_function_simulator/execution_note_cache.js +34 -37
- package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts +7 -11
- package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts.map +1 -1
- package/dest/contract_function_simulator/execution_tagging_index_cache.js +19 -15
- package/dest/contract_function_simulator/hashed_values_cache.d.ts +2 -2
- package/dest/contract_function_simulator/hashed_values_cache.d.ts.map +1 -1
- package/dest/contract_function_simulator/index.d.ts +27 -6
- package/dest/contract_function_simulator/index.d.ts.map +1 -1
- package/dest/contract_function_simulator/index.js +12 -4
- 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 +6 -6
- package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts.map +1 -1
- package/dest/contract_function_simulator/noir-structs/event_validation_request.js +13 -11
- 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 +21 -11
- package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts.map +1 -1
- package/dest/contract_function_simulator/noir-structs/log_retrieval_request.js +12 -23
- package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts +11 -9
- package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts.map +1 -1
- package/dest/contract_function_simulator/noir-structs/log_retrieval_response.js +2 -63
- 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 +5 -7
- package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts.map +1 -1
- package/dest/contract_function_simulator/noir-structs/note_validation_request.js +9 -13
- 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/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 +7 -18
- package/dest/contract_function_simulator/noir-structs/utility_context.d.ts.map +1 -1
- package/dest/contract_function_simulator/noir-structs/utility_context.js +1 -31
- 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 +2 -13
- package/dest/contract_function_simulator/oracle/index.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/index.js +1 -1
- package/dest/contract_function_simulator/oracle/interfaces.d.ts +15 -94
- package/dest/contract_function_simulator/oracle/interfaces.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/interfaces.js +2 -2
- 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/message_load_oracle_inputs.d.ts +5 -14
- package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.js +1 -24
- package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts +12 -8
- package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/note_packing_utils.js +15 -11
- 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 +1016 -0
- package/dest/contract_function_simulator/oracle/oracle_type_mappings.d.ts +274 -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 +1243 -0
- package/dest/contract_function_simulator/oracle/private_execution.d.ts +2 -28
- package/dest/contract_function_simulator/oracle/private_execution.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/private_execution.js +8 -43
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +90 -97
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/private_execution_oracle.js +275 -138
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +236 -65
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +661 -132
- package/dest/contract_function_simulator/pick_notes.d.ts +2 -2
- package/dest/contract_function_simulator/pick_notes.d.ts.map +1 -1
- package/dest/contract_function_simulator/pick_notes.js +21 -4
- 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 +40 -0
- package/dest/debug/pxe_debug_utils.d.ts.map +1 -0
- package/dest/debug/pxe_debug_utils.js +42 -0
- package/dest/entrypoints/client/bundle/index.d.ts +4 -2
- package/dest/entrypoints/client/bundle/index.d.ts.map +1 -1
- package/dest/entrypoints/client/bundle/index.js +3 -1
- package/dest/entrypoints/client/bundle/utils.d.ts +2 -2
- package/dest/entrypoints/client/bundle/utils.d.ts.map +1 -1
- package/dest/entrypoints/client/bundle/utils.js +54 -12
- package/dest/entrypoints/client/lazy/index.d.ts +4 -2
- package/dest/entrypoints/client/lazy/index.d.ts.map +1 -1
- package/dest/entrypoints/client/lazy/index.js +3 -1
- package/dest/entrypoints/client/lazy/utils.d.ts +3 -3
- package/dest/entrypoints/client/lazy/utils.d.ts.map +1 -1
- package/dest/entrypoints/client/lazy/utils.js +55 -13
- 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 +22 -4
- package/dest/entrypoints/pxe_creation_options.d.ts.map +1 -1
- package/dest/entrypoints/pxe_creation_options.js +3 -1
- package/dest/entrypoints/server/index.d.ts +10 -3
- package/dest/entrypoints/server/index.d.ts.map +1 -1
- package/dest/entrypoints/server/index.js +8 -2
- 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 +4 -3
- package/dest/entrypoints/server/utils.d.ts.map +1 -1
- package/dest/entrypoints/server/utils.js +62 -19
- package/dest/error_enriching.d.ts +6 -4
- package/dest/error_enriching.d.ts.map +1 -1
- package/dest/error_enriching.js +13 -11
- package/dest/events/event_service.d.ts +24 -0
- package/dest/events/event_service.d.ts.map +1 -0
- package/dest/events/event_service.js +77 -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/job_coordinator/job_coordinator.d.ts +75 -0
- package/dest/job_coordinator/job_coordinator.d.ts.map +1 -0
- package/dest/job_coordinator/job_coordinator.js +94 -0
- package/dest/logs/log_service.d.ts +31 -0
- package/dest/logs/log_service.d.ts.map +1 -0
- package/dest/logs/log_service.js +232 -0
- package/dest/messages/tx_resolver_service.d.ts +17 -0
- package/dest/messages/tx_resolver_service.d.ts.map +1 -0
- package/dest/messages/tx_resolver_service.js +60 -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 +70 -0
- package/dest/notes/note_service.d.ts.map +1 -0
- package/dest/notes/note_service.js +172 -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/oracle_version.d.ts +4 -3
- package/dest/oracle_version.d.ts.map +1 -1
- package/dest/oracle_version.js +20 -9
- 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_include_by_timestamp.js → compute_tx_expiration_timestamp.js} +12 -12
- package/dest/private_kernel/hints/index.d.ts +3 -3
- package/dest/private_kernel/hints/index.d.ts.map +1 -1
- package/dest/private_kernel/hints/index.js +2 -2
- 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/{build_private_kernel_reset_private_inputs.js → private_kernel_reset_private_inputs_builder.js} +147 -76
- 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/private_kernel_execution_prover.d.ts +7 -2
- package/dest/private_kernel/private_kernel_execution_prover.d.ts.map +1 -1
- package/dest/private_kernel/private_kernel_execution_prover.js +214 -93
- package/dest/private_kernel/private_kernel_oracle.d.ts +32 -29
- package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -1
- package/dest/private_kernel/private_kernel_oracle.js +108 -2
- package/dest/pxe.d.ts +260 -134
- package/dest/pxe.d.ts.map +1 -1
- package/dest/pxe.js +496 -342
- 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_data_provider/address_data_provider.js → address_store/address_store.js} +13 -12
- 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/{sync_data_provider → anchor_block_store}/index.d.ts +2 -2
- 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 +671 -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/capsule_store/capsule_service.d.ts +21 -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 +261 -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 +281 -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_data_provider → contract_store}/private_functions_tree.d.ts +1 -1
- package/dest/storage/contract_store/private_functions_tree.d.ts.map +1 -0
- package/dest/storage/{contract_data_provider → contract_store}/private_functions_tree.js +1 -1
- package/dest/storage/fact_store/fact_service.d.ts +22 -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 +95 -0
- package/dest/storage/fact_store/fact_store.d.ts.map +1 -0
- package/dest/storage/fact_store/fact_store.js +408 -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 +9 -8
- package/dest/storage/index.d.ts.map +1 -1
- package/dest/storage/index.js +8 -7
- package/dest/storage/metadata.d.ts +2 -2
- package/dest/storage/metadata.d.ts.map +1 -1
- package/dest/storage/metadata.js +1 -1
- 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 +372 -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/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 +88 -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 +273 -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/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 +28 -0
- package/dest/storage/tagging_store/recipient_tagging_store.d.ts.map +1 -0
- package/dest/storage/tagging_store/recipient_tagging_store.js +111 -0
- package/dest/storage/tagging_store/sender_tagging_store.d.ts +94 -0
- package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -0
- package/dest/storage/tagging_store/sender_tagging_store.js +411 -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 +3 -2
- package/dest/tagging/constants.d.ts.map +1 -1
- package/dest/tagging/constants.js +28 -2
- package/dest/tagging/get_all_logs_by_tags.d.ts +48 -0
- package/dest/tagging/get_all_logs_by_tags.d.ts.map +1 -0
- package/dest/tagging/get_all_logs_by_tags.js +59 -0
- package/dest/tagging/index.d.ts +18 -7
- package/dest/tagging/index.d.ts.map +1 -1
- package/dest/tagging/index.js +16 -5
- package/dest/tagging/persist_sender_tagging_index_ranges.d.ts +29 -0
- package/dest/tagging/persist_sender_tagging_index_ranges.d.ts.map +1 -0
- package/dest/tagging/persist_sender_tagging_index_ranges.js +42 -0
- package/dest/tagging/recipient_sync/sync_tagged_private_logs.d.ts +74 -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 +238 -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 +16 -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 +92 -0
- package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts +17 -0
- package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts.map +1 -0
- package/dest/tagging/sender_sync/utils/get_status_change_of_pending.js +60 -0
- package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts +19 -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 +76 -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/package.json +31 -19
- package/src/bin/check_oracle_version.ts +56 -34
- package/src/bin/index.ts +1 -0
- package/src/bin/oracle_version_helpers.ts +54 -0
- package/src/block_synchronizer/block_stream_source.ts +42 -0
- package/src/block_synchronizer/block_synchronizer.ts +241 -0
- package/src/block_synchronizer/index.ts +1 -0
- package/src/config/index.ts +25 -4
- package/src/config/package_info.ts +1 -1
- package/src/contract/contract_class_service.ts +83 -0
- package/src/contract/contract_sync_service.ts +176 -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/aztec_node_read_cache.ts +89 -0
- package/src/contract_function_simulator/benchmarked_node.ts +103 -0
- package/src/contract_function_simulator/contract_function_simulator.ts +513 -124
- package/src/contract_function_simulator/ephemeral_array_service.ts +110 -0
- package/src/contract_function_simulator/execution_note_cache.ts +39 -38
- package/src/contract_function_simulator/execution_tagging_index_cache.ts +19 -18
- package/src/contract_function_simulator/hashed_values_cache.ts +1 -1
- package/src/contract_function_simulator/index.ts +90 -5
- 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 +16 -11
- 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 +28 -20
- package/src/contract_function_simulator/noir-structs/log_retrieval_response.ts +14 -64
- package/src/contract_function_simulator/noir-structs/note_data.ts +27 -0
- package/src/contract_function_simulator/noir-structs/note_validation_request.ts +8 -13
- 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/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 +6 -37
- package/src/contract_function_simulator/oracle/acir_callback.ts +154 -0
- package/src/contract_function_simulator/oracle/index.ts +1 -15
- package/src/contract_function_simulator/oracle/interfaces.ts +11 -166
- package/src/contract_function_simulator/oracle/legacy_oracle_registry.ts +147 -0
- package/src/contract_function_simulator/oracle/message_load_oracle_inputs.ts +6 -21
- package/src/contract_function_simulator/oracle/note_packing_utils.ts +28 -14
- package/src/contract_function_simulator/oracle/oracle_registry.ts +710 -0
- package/src/contract_function_simulator/oracle/oracle_type_mappings.ts +1052 -0
- package/src/contract_function_simulator/oracle/private_execution.ts +8 -76
- package/src/contract_function_simulator/oracle/private_execution_oracle.ts +355 -189
- package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +1027 -166
- package/src/contract_function_simulator/pick_notes.ts +23 -4
- 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 +85 -0
- package/src/entrypoints/client/bundle/index.ts +3 -1
- package/src/entrypoints/client/bundle/utils.ts +52 -21
- package/src/entrypoints/client/lazy/index.ts +3 -1
- package/src/entrypoints/client/lazy/utils.ts +54 -23
- package/src/entrypoints/client/store.ts +54 -0
- package/src/entrypoints/pxe_creation_options.ts +27 -3
- package/src/entrypoints/server/index.ts +10 -2
- package/src/entrypoints/server/store.ts +47 -0
- package/src/entrypoints/server/utils.ts +68 -45
- package/src/error_enriching.ts +20 -12
- package/src/events/event_service.ts +119 -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/job_coordinator/job_coordinator.ts +150 -0
- package/src/logs/log_service.ts +300 -0
- package/src/messages/tx_resolver_service.ts +69 -0
- package/src/notes/index.ts +1 -0
- package/src/notes/note_service.ts +230 -0
- package/src/notes_filter.ts +24 -0
- package/src/oracle_version.ts +20 -9
- package/src/private_kernel/batch_planner.ts +168 -0
- package/src/private_kernel/hints/{compute_tx_include_by_timestamp.ts → compute_tx_expiration_timestamp.ts} +13 -13
- package/src/private_kernel/hints/index.ts +2 -2
- package/src/private_kernel/hints/{build_private_kernel_reset_private_inputs.ts → private_kernel_reset_private_inputs_builder.ts} +209 -141
- package/src/private_kernel/hints/test_utils.ts +318 -0
- package/src/private_kernel/private_kernel_execution_prover.ts +352 -130
- package/src/private_kernel/private_kernel_oracle.ts +149 -39
- package/src/pxe.ts +846 -457
- package/src/storage/{address_data_provider/address_data_provider.ts → address_store/address_store.ts} +16 -16
- 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 +803 -0
- package/src/storage/backwards_compatibility_tests/store_spy.ts +73 -0
- package/src/storage/capsule_store/capsule_service.ts +85 -0
- package/src/storage/capsule_store/capsule_store.ts +333 -0
- package/src/storage/capsule_store/index.ts +2 -0
- package/src/storage/contract_store/contract_store.ts +401 -0
- package/src/storage/contract_store/index.ts +1 -0
- package/src/storage/{contract_data_provider → contract_store}/private_functions_tree.ts +1 -1
- package/src/storage/fact_store/fact_service.ts +69 -0
- package/src/storage/fact_store/fact_store.ts +487 -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 +8 -7
- package/src/storage/metadata.ts +1 -1
- package/src/storage/note_store/index.ts +2 -0
- package/src/storage/note_store/note_store.ts +454 -0
- package/src/storage/note_store/stored_note.ts +26 -0
- package/src/storage/open_pxe_stores.ts +52 -0
- package/src/storage/private_event_store/private_event_store.ts +382 -0
- package/src/storage/private_event_store/stored_private_event.ts +73 -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 +139 -0
- package/src/storage/tagging_store/sender_tagging_store.ts +523 -0
- package/src/storage/tagging_store/tagging_secret_sources_store.ts +138 -0
- package/src/tagging/constants.ts +30 -2
- package/src/tagging/get_all_logs_by_tags.ts +120 -0
- package/src/tagging/index.ts +20 -6
- package/src/tagging/persist_sender_tagging_index_ranges.ts +57 -0
- package/src/tagging/recipient_sync/sync_tagged_private_logs.ts +358 -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 +134 -0
- package/src/tagging/sender_sync/utils/get_status_change_of_pending.ts +66 -0
- package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +88 -0
- package/src/tagging/testing/tag_query_test_utils.ts +11 -0
- package/dest/contract_function_simulator/execution_data_provider.d.ts +0 -267
- package/dest/contract_function_simulator/execution_data_provider.d.ts.map +0 -1
- package/dest/contract_function_simulator/execution_data_provider.js +0 -14
- package/dest/contract_function_simulator/oracle/oracle.d.ts +0 -58
- package/dest/contract_function_simulator/oracle/oracle.d.ts.map +0 -1
- package/dest/contract_function_simulator/oracle/oracle.js +0 -334
- package/dest/contract_function_simulator/proxied_contract_data_source.d.ts +0 -6
- package/dest/contract_function_simulator/proxied_contract_data_source.d.ts.map +0 -1
- package/dest/contract_function_simulator/proxied_contract_data_source.js +0 -62
- package/dest/contract_function_simulator/proxied_node.d.ts +0 -9
- package/dest/contract_function_simulator/proxied_node.d.ts.map +0 -1
- package/dest/contract_function_simulator/proxied_node.js +0 -27
- package/dest/contract_function_simulator/pxe_oracle_interface.d.ts +0 -123
- package/dest/contract_function_simulator/pxe_oracle_interface.d.ts.map +0 -1
- package/dest/contract_function_simulator/pxe_oracle_interface.js +0 -696
- package/dest/private_kernel/hints/build_private_kernel_reset_private_inputs.d.ts +0 -28
- package/dest/private_kernel/hints/build_private_kernel_reset_private_inputs.d.ts.map +0 -1
- package/dest/private_kernel/hints/compute_tx_include_by_timestamp.d.ts +0 -4
- package/dest/private_kernel/hints/compute_tx_include_by_timestamp.d.ts.map +0 -1
- package/dest/private_kernel/private_kernel_oracle_impl.d.ts +0 -45
- package/dest/private_kernel/private_kernel_oracle_impl.d.ts.map +0 -1
- package/dest/private_kernel/private_kernel_oracle_impl.js +0 -86
- package/dest/storage/address_data_provider/address_data_provider.d.ts +0 -11
- package/dest/storage/address_data_provider/address_data_provider.d.ts.map +0 -1
- package/dest/storage/address_data_provider/index.d.ts +0 -2
- package/dest/storage/address_data_provider/index.d.ts.map +0 -1
- package/dest/storage/address_data_provider/index.js +0 -1
- package/dest/storage/capsule_data_provider/capsule_data_provider.d.ts +0 -25
- package/dest/storage/capsule_data_provider/capsule_data_provider.d.ts.map +0 -1
- package/dest/storage/capsule_data_provider/capsule_data_provider.js +0 -118
- package/dest/storage/capsule_data_provider/index.d.ts +0 -2
- package/dest/storage/capsule_data_provider/index.d.ts.map +0 -1
- package/dest/storage/capsule_data_provider/index.js +0 -1
- package/dest/storage/contract_data_provider/contract_data_provider.d.ts +0 -64
- package/dest/storage/contract_data_provider/contract_data_provider.d.ts.map +0 -1
- package/dest/storage/contract_data_provider/contract_data_provider.js +0 -193
- package/dest/storage/contract_data_provider/index.d.ts +0 -2
- package/dest/storage/contract_data_provider/index.d.ts.map +0 -1
- package/dest/storage/contract_data_provider/index.js +0 -1
- package/dest/storage/contract_data_provider/private_functions_tree.d.ts.map +0 -1
- package/dest/storage/note_data_provider/index.d.ts +0 -3
- package/dest/storage/note_data_provider/index.d.ts.map +0 -1
- package/dest/storage/note_data_provider/index.js +0 -2
- package/dest/storage/note_data_provider/note_data_provider.d.ts +0 -83
- package/dest/storage/note_data_provider/note_data_provider.d.ts.map +0 -1
- package/dest/storage/note_data_provider/note_data_provider.js +0 -314
- package/dest/storage/private_event_data_provider/private_event_data_provider.d.ts +0 -37
- package/dest/storage/private_event_data_provider/private_event_data_provider.d.ts.map +0 -1
- package/dest/storage/private_event_data_provider/private_event_data_provider.js +0 -105
- package/dest/storage/sync_data_provider/index.d.ts.map +0 -1
- package/dest/storage/sync_data_provider/index.js +0 -1
- package/dest/storage/sync_data_provider/sync_data_provider.d.ts +0 -11
- package/dest/storage/sync_data_provider/sync_data_provider.d.ts.map +0 -1
- package/dest/storage/sync_data_provider/sync_data_provider.js +0 -26
- package/dest/storage/tagging_data_provider/index.d.ts +0 -2
- package/dest/storage/tagging_data_provider/index.d.ts.map +0 -1
- package/dest/storage/tagging_data_provider/index.js +0 -1
- package/dest/storage/tagging_data_provider/tagging_data_provider.d.ts +0 -40
- package/dest/storage/tagging_data_provider/tagging_data_provider.d.ts.map +0 -1
- package/dest/storage/tagging_data_provider/tagging_data_provider.js +0 -89
- package/dest/synchronizer/index.d.ts +0 -2
- package/dest/synchronizer/index.d.ts.map +0 -1
- package/dest/synchronizer/index.js +0 -1
- package/dest/synchronizer/synchronizer.d.ts +0 -36
- package/dest/synchronizer/synchronizer.d.ts.map +0 -1
- package/dest/synchronizer/synchronizer.js +0 -102
- package/dest/tagging/siloed_tag.d.ts +0 -14
- package/dest/tagging/siloed_tag.d.ts.map +0 -1
- package/dest/tagging/siloed_tag.js +0 -20
- package/dest/tagging/tag.d.ts +0 -12
- package/dest/tagging/tag.d.ts.map +0 -1
- package/dest/tagging/tag.js +0 -17
- package/dest/tagging/utils.d.ts +0 -18
- package/dest/tagging/utils.d.ts.map +0 -1
- package/dest/tagging/utils.js +0 -24
- package/src/contract_function_simulator/execution_data_provider.ts +0 -342
- package/src/contract_function_simulator/oracle/oracle.ts +0 -591
- package/src/contract_function_simulator/proxied_contract_data_source.ts +0 -66
- package/src/contract_function_simulator/proxied_node.ts +0 -33
- package/src/contract_function_simulator/pxe_oracle_interface.ts +0 -1023
- package/src/private_kernel/private_kernel_oracle_impl.ts +0 -132
- package/src/storage/address_data_provider/index.ts +0 -1
- package/src/storage/capsule_data_provider/capsule_data_provider.ts +0 -147
- package/src/storage/capsule_data_provider/index.ts +0 -1
- package/src/storage/contract_data_provider/contract_data_provider.ts +0 -277
- package/src/storage/contract_data_provider/index.ts +0 -1
- package/src/storage/note_data_provider/index.ts +0 -2
- package/src/storage/note_data_provider/note_data_provider.ts +0 -403
- package/src/storage/private_event_data_provider/private_event_data_provider.ts +0 -143
- package/src/storage/sync_data_provider/index.ts +0 -1
- package/src/storage/sync_data_provider/sync_data_provider.ts +0 -35
- package/src/storage/tagging_data_provider/index.ts +0 -1
- package/src/storage/tagging_data_provider/tagging_data_provider.ts +0 -120
- package/src/synchronizer/index.ts +0 -1
- package/src/synchronizer/synchronizer.ts +0 -121
- package/src/tagging/siloed_tag.ts +0 -22
- package/src/tagging/tag.ts +0 -16
- package/src/tagging/utils.ts +0 -31
|
@@ -1,4 +1,110 @@
|
|
|
1
|
+
import { PUBLIC_DATA_TREE_HEIGHT, UPDATES_VALUE_SIZE, VK_TREE_HEIGHT } from '@aztec/constants';
|
|
2
|
+
import { MembershipWitness } from '@aztec/foundation/trees';
|
|
3
|
+
import { getVKIndex, getVKSiblingPath } from '@aztec/noir-protocol-circuits-types/vk-tree';
|
|
4
|
+
import { ProtocolContractAddress } from '@aztec/protocol-contracts';
|
|
5
|
+
import { computeSaltedInitializationHash } from '@aztec/stdlib/contract';
|
|
6
|
+
import { DelayedPublicMutableValues, DelayedPublicMutableValuesWithHash } from '@aztec/stdlib/delayed-public-mutable';
|
|
7
|
+
import { computePublicDataTreeLeafSlot } from '@aztec/stdlib/hash';
|
|
8
|
+
import { UpdatedClassIdHints } from '@aztec/stdlib/kernel';
|
|
9
|
+
import { AnchoredContractData } from '../contract_function_simulator/anchored_contract_data.js';
|
|
1
10
|
/**
|
|
2
11
|
* Provides functionality needed by the private kernel for interacting with our state trees.
|
|
3
|
-
|
|
4
|
-
|
|
12
|
+
*/ export class PrivateKernelOracle {
|
|
13
|
+
contractStore;
|
|
14
|
+
keyStore;
|
|
15
|
+
node;
|
|
16
|
+
blockHeader;
|
|
17
|
+
anchoredContractData;
|
|
18
|
+
constructor(contractStore, contractClassService, keyStore, node, blockHeader){
|
|
19
|
+
this.contractStore = contractStore;
|
|
20
|
+
this.keyStore = keyStore;
|
|
21
|
+
this.node = node;
|
|
22
|
+
this.blockHeader = blockHeader;
|
|
23
|
+
// Kernels never use contract overrides (those are confined to simulations, which skip proving), so this view is
|
|
24
|
+
// built without them.
|
|
25
|
+
this.anchoredContractData = new AnchoredContractData(contractStore, contractClassService, blockHeader);
|
|
26
|
+
}
|
|
27
|
+
/** Retrieves the preimage of a contract address from the registered contract instances db. */ async getContractAddressPreimage(address) {
|
|
28
|
+
const instance = await this.anchoredContractData.getContractInstance(address);
|
|
29
|
+
if (!instance) {
|
|
30
|
+
throw new Error(`Contract instance not found when getting address preimage. Contract address: ${address}.`);
|
|
31
|
+
}
|
|
32
|
+
// Local instance existence was checked above, so resolution below cannot come back empty.
|
|
33
|
+
const currentContractClassId = await this.anchoredContractData.getCurrentClassId(address);
|
|
34
|
+
if (!currentContractClassId) {
|
|
35
|
+
throw new Error(`Could not resolve the current class id for registered contract ${address}.`);
|
|
36
|
+
}
|
|
37
|
+
return {
|
|
38
|
+
saltedInitializationHash: await computeSaltedInitializationHash(instance),
|
|
39
|
+
...instance,
|
|
40
|
+
currentContractClassId
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
/** Retrieves the preimage of a contract class id from the contract classes db. */ async getContractClassIdPreimage(contractClassId) {
|
|
44
|
+
const contractClass = await this.contractStore.getContractClassWithPreimage(contractClassId);
|
|
45
|
+
if (!contractClass) {
|
|
46
|
+
throw new Error(`Contract class not found when getting class id preimage. Class id: ${contractClassId}.`);
|
|
47
|
+
}
|
|
48
|
+
return {
|
|
49
|
+
artifactHash: contractClass.artifactHash,
|
|
50
|
+
privateFunctionsRoot: contractClass.privateFunctionsRoot,
|
|
51
|
+
publicBytecodeCommitment: contractClass.publicBytecodeCommitment
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
/** Returns a membership witness with the sibling path and leaf index in our private functions tree. */ async getFunctionMembershipWitness(contractClassId, selector) {
|
|
55
|
+
const membershipWitness = await this.contractStore.getFunctionMembershipWitness(contractClassId, selector);
|
|
56
|
+
if (!membershipWitness) {
|
|
57
|
+
throw new Error(`Membership witness not found for contract class id ${contractClassId} and selector ${selector}.`);
|
|
58
|
+
}
|
|
59
|
+
return membershipWitness;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Returns a membership witness with the sibling path and leaf index in our protocol VK indexed merkle tree.
|
|
63
|
+
* Used to validate the previous kernel's verification key.
|
|
64
|
+
*/ getVkMembershipWitness(vk) {
|
|
65
|
+
const leafIndex = getVKIndex(vk);
|
|
66
|
+
return Promise.resolve(new MembershipWitness(VK_TREE_HEIGHT, BigInt(leafIndex), getVKSiblingPath(leafIndex)));
|
|
67
|
+
}
|
|
68
|
+
/** Returns a membership witness with the sibling path and leaf index in our note hash tree. */ async getNoteHashMembershipWitness(noteHash) {
|
|
69
|
+
return this.node.getNoteHashMembershipWitness(await this.blockHeader.hash(), noteHash);
|
|
70
|
+
}
|
|
71
|
+
/** Returns a membership witness with the sibling path and leaf index in our nullifier indexed merkle tree. */ async getNullifierMembershipWitness(nullifier) {
|
|
72
|
+
return this.node.getNullifierMembershipWitness(await this.blockHeader.hash(), nullifier);
|
|
73
|
+
}
|
|
74
|
+
/** Returns the root of our note hash merkle tree. */ getNoteHashTreeRoot() {
|
|
75
|
+
return this.blockHeader.state.partial.noteHashTree.root;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Retrieves the sk_m corresponding to the pk_m hash.
|
|
79
|
+
* @throws If the provided hash is not associated with any of the registered accounts.
|
|
80
|
+
* @param masterPublicKeyHash - The master public key hash to get secret key for.
|
|
81
|
+
* @returns A Promise that resolves to sk_m.
|
|
82
|
+
* @dev Used when feeding the sk_m to the kernel circuit for keys verification.
|
|
83
|
+
*/ getMasterSecretKey(masterPublicKeyHash) {
|
|
84
|
+
return this.keyStore.getMasterSecretKey(masterPublicKeyHash);
|
|
85
|
+
}
|
|
86
|
+
/** Use debug data to get the function name corresponding to a selector. */ async getDebugFunctionName(contractAddress, selector) {
|
|
87
|
+
const classId = await this.anchoredContractData.getCurrentClassId(contractAddress);
|
|
88
|
+
return classId ? this.contractStore.getDebugFunctionName(classId, selector) : undefined;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Returns a membership witness and leaf index to our public data indexed merkle tree,
|
|
92
|
+
* along with an associated DelayedPublicMutable containing the class ID to update.
|
|
93
|
+
*/ async getUpdatedClassIdHints(contractAddress) {
|
|
94
|
+
const { delayedPublicMutableSlot, delayedPublicMutableHashSlot } = await DelayedPublicMutableValuesWithHash.getContractUpdateSlots(contractAddress);
|
|
95
|
+
const hashLeafSlot = await computePublicDataTreeLeafSlot(ProtocolContractAddress.ContractInstanceRegistry, delayedPublicMutableHashSlot);
|
|
96
|
+
const blockHash = await this.blockHeader.hash();
|
|
97
|
+
const updatedClassIdWitness = await this.node.getPublicDataWitness(blockHash, hashLeafSlot);
|
|
98
|
+
if (!updatedClassIdWitness) {
|
|
99
|
+
throw new Error(`No public data tree witness found for ${hashLeafSlot}`);
|
|
100
|
+
}
|
|
101
|
+
// In an indexed merkle tree, getPublicDataWitness returns a leaf whose slot matches our query
|
|
102
|
+
// only if the slot has been written to. Otherwise, it returns the "low leaf" predecessor, whose
|
|
103
|
+
// slot will differ. Most contracts are never updated, so we can skip the readFromTree call
|
|
104
|
+
// (which triggers multiple RPC calls) and return empty values directly.
|
|
105
|
+
const readStorage = (storageSlot)=>this.node.getPublicStorageAt(blockHash, ProtocolContractAddress.ContractInstanceRegistry, storageSlot);
|
|
106
|
+
const slotExists = updatedClassIdWitness.leafPreimage.leaf.slot.equals(hashLeafSlot);
|
|
107
|
+
const delayedPublicMutableValues = slotExists ? await DelayedPublicMutableValues.readFromTree(delayedPublicMutableSlot, readStorage) : DelayedPublicMutableValues.empty(UPDATES_VALUE_SIZE);
|
|
108
|
+
return new UpdatedClassIdHints(new MembershipWitness(PUBLIC_DATA_TREE_HEIGHT, updatedClassIdWitness.index, updatedClassIdWitness.siblingPath.toTuple()), updatedClassIdWitness.leafPreimage, delayedPublicMutableValues);
|
|
109
|
+
}
|
|
110
|
+
}
|
package/dest/pxe.d.ts
CHANGED
|
@@ -1,26 +1,159 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { PrivateEventFilter } from '@aztec/aztec.js/wallet';
|
|
2
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
|
+
import { Point } from '@aztec/foundation/curves/grumpkin';
|
|
2
4
|
import { type Logger } from '@aztec/foundation/log';
|
|
5
|
+
import type { AccountPrivacyKeys, AccountPrivacySecretKeys } from '@aztec/key-store';
|
|
3
6
|
import type { AztecAsyncKVStore } from '@aztec/kv-store';
|
|
4
7
|
import { type ProtocolContractsProvider } from '@aztec/protocol-contracts';
|
|
5
8
|
import type { CircuitSimulator } from '@aztec/simulator/client';
|
|
6
9
|
import { type ContractArtifact, EventSelector, FunctionCall } from '@aztec/stdlib/abi';
|
|
7
10
|
import type { AuthWitness } from '@aztec/stdlib/auth-witness';
|
|
8
11
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
9
|
-
import type
|
|
10
|
-
import {
|
|
11
|
-
import type
|
|
12
|
-
import type { NotesFilter } from '@aztec/stdlib/note';
|
|
13
|
-
import { NoteDao } from '@aztec/stdlib/note';
|
|
14
|
-
import { SimulationOverrides, TxExecutionRequest, TxHash, TxProfileResult, TxProvingResult, TxSimulationResult, UtilitySimulationResult } from '@aztec/stdlib/tx';
|
|
12
|
+
import { CompleteAddress, type ContractInstancePreimage, type ContractInstancePreimageWithAddress, type ContractInstanceWithAddress, type PartialAddress } from '@aztec/stdlib/contract';
|
|
13
|
+
import type { AztecNode, AztecNodeDebug, PrivateKernelProver } from '@aztec/stdlib/interfaces/client';
|
|
14
|
+
import { BlockHeader, type InTx, SimulationOverrides, TxExecutionRequest, TxProfileResult, TxProvingResult, TxSimulationResult, UtilityExecutionResult } from '@aztec/stdlib/tx';
|
|
15
15
|
import type { PXEConfig } from './config/index.js';
|
|
16
|
-
|
|
16
|
+
import { PXEDebugUtils } from './debug/pxe_debug_utils.js';
|
|
17
|
+
import type { ExecutionHooks } from './hooks/index.js';
|
|
18
|
+
export type PackedPrivateEvent = InTx & {
|
|
17
19
|
packedEvent: Fr[];
|
|
18
|
-
blockNumber: number;
|
|
19
|
-
blockHash: L2BlockHash;
|
|
20
|
-
txHash: TxHash;
|
|
21
|
-
recipient: AztecAddress;
|
|
22
20
|
eventSelector: EventSelector;
|
|
23
21
|
};
|
|
22
|
+
/** Options for PXE.proveTx. */
|
|
23
|
+
export type ProveTxOpts = {
|
|
24
|
+
/** Addresses whose private state and keys are accessible during private execution. */
|
|
25
|
+
scopes: AztecAddress[];
|
|
26
|
+
/** Sender address used to derive discovery tags for private messages (notes, events, logs) this tx emits. */
|
|
27
|
+
senderForTags?: AztecAddress;
|
|
28
|
+
};
|
|
29
|
+
/** Options for PXE.profileTx. */
|
|
30
|
+
export type ProfileTxOpts = {
|
|
31
|
+
/** The profiling mode to use. */
|
|
32
|
+
profileMode: 'full' | 'execution-steps' | 'gates';
|
|
33
|
+
/** If true, proof generation is skipped during profiling. Defaults to true. */
|
|
34
|
+
skipProofGeneration?: boolean;
|
|
35
|
+
/** Addresses whose private state and keys are accessible during private execution. */
|
|
36
|
+
scopes: AztecAddress[];
|
|
37
|
+
/** Sender address used to derive discovery tags for private messages (notes, events, logs) this tx emits. */
|
|
38
|
+
senderForTags?: AztecAddress;
|
|
39
|
+
};
|
|
40
|
+
/** Options for PXE.simulateTx. */
|
|
41
|
+
export type SimulateTxOpts = {
|
|
42
|
+
/** Whether to simulate the public part of the transaction. */
|
|
43
|
+
simulatePublic: boolean;
|
|
44
|
+
/** If false, this function throws if the transaction is unable to be included in a block at the current state. */
|
|
45
|
+
skipTxValidation?: boolean;
|
|
46
|
+
/** If false, fees are enforced. */
|
|
47
|
+
skipFeeEnforcement?: boolean;
|
|
48
|
+
/** If true, kernel logic is emulated in TS for simulation */
|
|
49
|
+
skipKernels?: boolean;
|
|
50
|
+
/**
|
|
51
|
+
* Pre-simulation overrides applied to the ephemeral fork and contract DB. Bundles publicStorage
|
|
52
|
+
* writes (no skipKernels required) and per-address (instance, artifact?) overrides used by both
|
|
53
|
+
* AVM-side public dispatch and PXE-side ACIR private dispatch (requires skipKernels: true).
|
|
54
|
+
*/
|
|
55
|
+
overrides?: SimulationOverrides;
|
|
56
|
+
/** Addresses whose private state and keys are accessible during private execution */
|
|
57
|
+
scopes: AztecAddress[];
|
|
58
|
+
/** Sender address used to derive discovery tags for private messages (notes, events, logs) this tx emits. */
|
|
59
|
+
senderForTags?: AztecAddress;
|
|
60
|
+
};
|
|
61
|
+
/** Options for PXE.executeUtility. */
|
|
62
|
+
export type ExecuteUtilityOpts = {
|
|
63
|
+
/** The authentication witnesses required for the function call. */
|
|
64
|
+
authwits?: AuthWitness[];
|
|
65
|
+
/** The accounts whose notes we can access in this call */
|
|
66
|
+
scopes: AztecAddress[];
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* Supplies the set of "nice to have" contracts that every PXE preloads regardless of which wallet
|
|
70
|
+
* drives it. Today this is just the standard multi-call entrypoint: the SDK's self-paid account
|
|
71
|
+
* deploy flow ({@link DeployAccountMethod} with `from = NO_FROM`) routes its payload through it, so a
|
|
72
|
+
* PXE that did not register it would fail contract sync with an opaque "no contract instance" error.
|
|
73
|
+
*
|
|
74
|
+
* Returning a list keeps this extensible: a wallet may supply its own provider that preloads
|
|
75
|
+
* additional contracts. Injected the same way as {@link ProtocolContractsProvider} so the PXE never
|
|
76
|
+
* statically imports the bundled artifacts, keeping the bundle/lazy split intact.
|
|
77
|
+
*/
|
|
78
|
+
export type PreloadedContractsProvider = {
|
|
79
|
+
/** Returns the contract instances and artifacts the PXE should preload on startup. */
|
|
80
|
+
getPreloadedContracts: () => Promise<Array<{
|
|
81
|
+
instance: ContractInstanceWithAddress;
|
|
82
|
+
artifact: ContractArtifact;
|
|
83
|
+
}>>;
|
|
84
|
+
};
|
|
85
|
+
/** Args for PXE.create. */
|
|
86
|
+
export type PXECreateArgs = {
|
|
87
|
+
/** The Aztec node to connect to. */
|
|
88
|
+
node: AztecNode;
|
|
89
|
+
/**
|
|
90
|
+
* Optional debug API client. When provided, public function signatures are registered with the node so that
|
|
91
|
+
* node-side public-execution stack traces can be named. Skipped when the node does not expose the debug API.
|
|
92
|
+
*/
|
|
93
|
+
nodeDebug?: AztecNodeDebug;
|
|
94
|
+
/** The key-value store for persisting PXE state. */
|
|
95
|
+
store: AztecAsyncKVStore;
|
|
96
|
+
/** The prover for generating private kernel proofs. */
|
|
97
|
+
proofCreator: PrivateKernelProver;
|
|
98
|
+
/** The circuit simulator for executing ACIR circuits. */
|
|
99
|
+
simulator: CircuitSimulator;
|
|
100
|
+
/** Provider for protocol contract artifacts and instances. */
|
|
101
|
+
protocolContractsProvider: ProtocolContractsProvider;
|
|
102
|
+
/**
|
|
103
|
+
* Contracts to preload on startup. Injected by the entrypoint with the bundle-or-lazy flavor that
|
|
104
|
+
* matches the runtime (bundle for node/eager browser, lazy for code-split browser), so the PXE
|
|
105
|
+
* never statically imports a standard-contract artifact and the bundle/lazy split stays intact.
|
|
106
|
+
*/
|
|
107
|
+
preloadedContractsProvider: PreloadedContractsProvider;
|
|
108
|
+
/** PXE configuration options. */
|
|
109
|
+
config: PXEConfig;
|
|
110
|
+
/** Optional logger instance or string suffix for the logger name. */
|
|
111
|
+
loggerOrSuffix?: string | Logger;
|
|
112
|
+
/** Optional hooks to observe and influence contract execution. */
|
|
113
|
+
hooks?: ExecutionHooks;
|
|
114
|
+
};
|
|
115
|
+
/** A source from which PXE derives the tagging secrets it scans for to discover incoming private logs. */
|
|
116
|
+
export type TaggingSecretSource =
|
|
117
|
+
/**
|
|
118
|
+
* Derives a shared secret via ECDH from an external `sender` address against every account registered in this PXE
|
|
119
|
+
* (present and future), so registering one sender applies it to all of them. The address is not secret, so unlike
|
|
120
|
+
* `arbitrary-secret` it can be reused freely across recipients.
|
|
121
|
+
*/
|
|
122
|
+
{
|
|
123
|
+
kind: 'address-derived';
|
|
124
|
+
sender: AztecAddress;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* A shared secret point provided directly, scoped to a single recipient. It bypasses ECDH, so it must not be
|
|
128
|
+
* reused across recipients (each would then be able to find the others' tags).
|
|
129
|
+
*/
|
|
130
|
+
| {
|
|
131
|
+
kind: 'arbitrary-secret';
|
|
132
|
+
recipient: AztecAddress;
|
|
133
|
+
secret: Point;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* A handshake known by the x-coordinate of its ephemeral public key (the value a recipient learns while authorizing
|
|
137
|
+
* an interactive handshake, which emits no discoverable announcement). The ephemeral key's y-coordinate is always
|
|
138
|
+
* positive by protocol construction, so the x-coordinate alone identifies it.
|
|
139
|
+
*/
|
|
140
|
+
| {
|
|
141
|
+
kind: 'handshake';
|
|
142
|
+
recipient: AztecAddress;
|
|
143
|
+
ephPk: Fr;
|
|
144
|
+
};
|
|
145
|
+
/**
|
|
146
|
+
* The registered form of a {@link TaggingSecretSource}.
|
|
147
|
+
*/
|
|
148
|
+
export type RegisteredTaggingSecretSource = Exclude<TaggingSecretSource, {
|
|
149
|
+
kind: 'handshake';
|
|
150
|
+
}>
|
|
151
|
+
/** A handshake's resolved shared secret, derived at registration from the handshake's ephemeral key. */
|
|
152
|
+
| {
|
|
153
|
+
kind: 'handshake';
|
|
154
|
+
recipient: AztecAddress;
|
|
155
|
+
secret: Point;
|
|
156
|
+
};
|
|
24
157
|
/**
|
|
25
158
|
* Private eXecution Environment (PXE) is a library used by wallets to simulate private phase of transactions and to
|
|
26
159
|
* manage private state of users.
|
|
@@ -28,21 +161,35 @@ export type PrivateEvent = {
|
|
|
28
161
|
export declare class PXE {
|
|
29
162
|
#private;
|
|
30
163
|
private node;
|
|
31
|
-
private
|
|
164
|
+
private nodeDebug;
|
|
165
|
+
private db;
|
|
166
|
+
private blockStateSynchronizer;
|
|
32
167
|
private keyStore;
|
|
33
|
-
private
|
|
34
|
-
private
|
|
35
|
-
private
|
|
36
|
-
private
|
|
37
|
-
private
|
|
38
|
-
private
|
|
39
|
-
private
|
|
168
|
+
private contractStore;
|
|
169
|
+
private noteStore;
|
|
170
|
+
private capsuleStore;
|
|
171
|
+
private factStore;
|
|
172
|
+
private anchorBlockStore;
|
|
173
|
+
private senderTaggingStore;
|
|
174
|
+
private taggingSecretSourcesStore;
|
|
175
|
+
private recipientTaggingStore;
|
|
176
|
+
private addressStore;
|
|
177
|
+
private privateEventStore;
|
|
178
|
+
private contractSyncService;
|
|
179
|
+
private contractClassService;
|
|
180
|
+
private txResolver;
|
|
181
|
+
private l2TipsStore;
|
|
40
182
|
private simulator;
|
|
41
183
|
private proverEnabled;
|
|
184
|
+
private autoSync;
|
|
42
185
|
private proofCreator;
|
|
43
186
|
private protocolContractsProvider;
|
|
187
|
+
private preloadedContractsProvider;
|
|
44
188
|
private log;
|
|
45
189
|
private jobQueue;
|
|
190
|
+
private jobCoordinator;
|
|
191
|
+
debug: PXEDebugUtils;
|
|
192
|
+
private hooks;
|
|
46
193
|
private constructor();
|
|
47
194
|
/**
|
|
48
195
|
* Creates an instance of a PXE by instantiating all the necessary data providers and services.
|
|
@@ -51,73 +198,84 @@ export declare class PXE {
|
|
|
51
198
|
*
|
|
52
199
|
* @returns A promise that resolves PXE is ready to be used.
|
|
53
200
|
*/
|
|
54
|
-
static create(node
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
*
|
|
80
|
-
*
|
|
81
|
-
*
|
|
82
|
-
*
|
|
83
|
-
*
|
|
84
|
-
*
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
isContractPublished: boolean;
|
|
90
|
-
}>;
|
|
91
|
-
/**
|
|
92
|
-
* Registers a user account in PXE given its master encryption private key.
|
|
93
|
-
* Once a new account is registered, the PXE will trial-decrypt all published notes on
|
|
94
|
-
* the chain and store those that correspond to the registered account. Will do nothing if the
|
|
95
|
-
* account is already registered.
|
|
96
|
-
*
|
|
97
|
-
* @param secretKey - Secret key of the corresponding user master public key.
|
|
201
|
+
static create({ node, nodeDebug, store, proofCreator, simulator, protocolContractsProvider, preloadedContractsProvider, config, loggerOrSuffix, hooks }: PXECreateArgs): Promise<PXE>;
|
|
202
|
+
/**
|
|
203
|
+
* Triggers a sync of PXE state with the node, regardless of the `autoSync` config flag. Use this to
|
|
204
|
+
* batch syncs across composite flows when `autoSync` is disabled (e.g. one sync per simulate+send
|
|
205
|
+
* instead of one per inner PXE call). Serialized through the job queue.
|
|
206
|
+
*/
|
|
207
|
+
sync(): Promise<void>;
|
|
208
|
+
/**
|
|
209
|
+
* Returns the block header up to which the PXE has synced.
|
|
210
|
+
* @returns The synced block header
|
|
211
|
+
*/
|
|
212
|
+
getSyncedBlockHeader(): Promise<BlockHeader>;
|
|
213
|
+
/**
|
|
214
|
+
* Returns the address preimage of the contract instance at a given address, if it's registered in the PXE.
|
|
215
|
+
* @param address - The contract address.
|
|
216
|
+
* @returns The contract instance address preimage if found, undefined otherwise.
|
|
217
|
+
*/
|
|
218
|
+
getContractInstance(address: AztecAddress): Promise<ContractInstancePreimageWithAddress | undefined>;
|
|
219
|
+
/**
|
|
220
|
+
* Returns the contract artifact for a given contract class id, if it's registered in the PXE.
|
|
221
|
+
* @param id - Identifier of the contract class.
|
|
222
|
+
* @returns The contract artifact if found, undefined otherwise.
|
|
223
|
+
*/
|
|
224
|
+
getContractArtifact(id: Fr): Promise<ContractArtifact | undefined>;
|
|
225
|
+
/**
|
|
226
|
+
* Registers a user account in PXE.
|
|
227
|
+
*
|
|
228
|
+
* PXE holds the account's four privacy secret keys but only the *public* message-signing and fallback keys: their
|
|
229
|
+
* secret keys are withheld, since PXE is not trusted to hold them.
|
|
230
|
+
*
|
|
231
|
+
* Does nothing if the account is already registered.
|
|
232
|
+
*
|
|
233
|
+
* The four privacy secret keys can be retrieved later with {@link getAccountSecretKeys}.
|
|
234
|
+
*
|
|
235
|
+
* @param keys - The account's privacy keys: four secret keys plus the message-signing and fallback public keys.
|
|
98
236
|
* @param partialAddress - The partial address of the account contract corresponding to the account being registered.
|
|
99
237
|
* @returns The complete address of the account.
|
|
100
238
|
*/
|
|
101
|
-
registerAccount(
|
|
239
|
+
registerAccount(keys: AccountPrivacyKeys, partialAddress: PartialAddress): Promise<CompleteAddress>;
|
|
102
240
|
/**
|
|
103
|
-
*
|
|
241
|
+
* Retrieves the four privacy secret keys PXE holds for a registered account (nullifier-hiding, incoming-viewing,
|
|
242
|
+
* outgoing-viewing, tagging).
|
|
243
|
+
*
|
|
244
|
+
* These do NOT grant control over an account's assets, e.g. they are insufficient to impersonate the account or to
|
|
245
|
+
* spend notes, but they _do_ guard the account's privacy. Parties that have knowledge of these keys can decrypt all
|
|
246
|
+
* messages sent to the account, discover all of their on-chain activity, including notes, events, etc.
|
|
104
247
|
*
|
|
105
|
-
*
|
|
106
|
-
*
|
|
248
|
+
* Security is paramount when handling these keys, which should itself be a very rare occurrence. Other than exporting
|
|
249
|
+
* and then importing an account into a separate PXE/wallet, there is typically no need for a wallet to ever access
|
|
250
|
+
* these keys. Applications should NEVER be given access to them.
|
|
107
251
|
*
|
|
108
|
-
* @
|
|
109
|
-
* @returns The address address of the account.
|
|
252
|
+
* @throws If the account is not registered.
|
|
110
253
|
*/
|
|
111
|
-
|
|
254
|
+
getAccountSecretKeys(account: AztecAddress): Promise<AccountPrivacySecretKeys>;
|
|
112
255
|
/**
|
|
113
|
-
*
|
|
114
|
-
* @
|
|
256
|
+
* Registers a source from which this PXE derives the tagging secrets it scans for to discover incoming private logs.
|
|
257
|
+
* See {@link TaggingSecretSource} for the meaning of each variant. Does nothing if the source is already registered.
|
|
258
|
+
*
|
|
259
|
+
* After a new source is added we clear the cache tracking which contracts have finished syncing, so every contract
|
|
260
|
+
* re-syncs against the new source's logs (whose notes/events could belong to any contract). Already-discovered
|
|
261
|
+
* notes/events are not discarded.
|
|
115
262
|
*/
|
|
116
|
-
|
|
263
|
+
registerTaggingSecretSource(source: TaggingSecretSource): Promise<void>;
|
|
117
264
|
/**
|
|
118
|
-
* Removes a
|
|
265
|
+
* Removes a previously registered tagging secret source, identified by its registered form (see
|
|
266
|
+
* {@link getTaggingSecretSources}). Does nothing if it was not registered.
|
|
119
267
|
*/
|
|
120
|
-
|
|
268
|
+
removeTaggingSecretSource(source: RegisteredTaggingSecretSource): Promise<void>;
|
|
269
|
+
/**
|
|
270
|
+
* Retrieves the tagging secret sources registered in this PXE, in their registered form. Without a filter it
|
|
271
|
+
* returns every source; pass `{ kind }` to narrow to a single variant. See {@link RegisteredTaggingSecretSource}.
|
|
272
|
+
*/
|
|
273
|
+
getTaggingSecretSources<K extends RegisteredTaggingSecretSource['kind']>(filter: {
|
|
274
|
+
kind: K;
|
|
275
|
+
}): Promise<Extract<RegisteredTaggingSecretSource, {
|
|
276
|
+
kind: K;
|
|
277
|
+
}>[]>;
|
|
278
|
+
getTaggingSecretSources(): Promise<RegisteredTaggingSecretSource[]>;
|
|
121
279
|
/**
|
|
122
280
|
* Retrieves the user accounts registered on this PXE.
|
|
123
281
|
* @returns An array of the accounts registered on this PXE.
|
|
@@ -130,64 +288,38 @@ export declare class PXE {
|
|
|
130
288
|
*/
|
|
131
289
|
registerContractClass(artifact: ContractArtifact): Promise<void>;
|
|
132
290
|
/**
|
|
133
|
-
*
|
|
134
|
-
*
|
|
135
|
-
*
|
|
136
|
-
*
|
|
291
|
+
* Registers a deployed contract instance so its private state can be synced and its functions simulated. The
|
|
292
|
+
* artifact for the class the instance runs must be registered separately via {@link registerContractClass}, before
|
|
293
|
+
* or after this call; registration performs no validation, so a missing or mismatched artifact only surfaces when
|
|
294
|
+
* the contract is later simulated. This is automatically called by aztec.js when deploying a contract.
|
|
137
295
|
*
|
|
138
|
-
* @param
|
|
139
|
-
|
|
140
|
-
registerContract(contract: {
|
|
141
|
-
instance: ContractInstanceWithAddress;
|
|
142
|
-
artifact?: ContractArtifact;
|
|
143
|
-
}): Promise<void>;
|
|
144
|
-
/**
|
|
145
|
-
* Updates a deployed contract in the PXE. This is used to update the contract artifact when
|
|
146
|
-
* an update has happened, so the new code can be used in the simulation of local transactions.
|
|
147
|
-
* This is called by aztec.js when instantiating a contract in a given address with a mismatching artifact.
|
|
148
|
-
* @param contractAddress - The address of the contract to update.
|
|
149
|
-
* @param artifact - The updated artifact for the contract.
|
|
150
|
-
* @throws If the artifact's contract class is not found in the PXE or if the contract class is different from
|
|
151
|
-
* the current one (current one from the point of view of the node to which the PXE is connected).
|
|
296
|
+
* @param instance - The address preimage of the contract instance to register. The address is derived from it.
|
|
297
|
+
* @returns The address of the registered instance.
|
|
152
298
|
*/
|
|
153
|
-
|
|
299
|
+
registerContract(instance: ContractInstancePreimage): Promise<AztecAddress>;
|
|
154
300
|
/**
|
|
155
301
|
* Retrieves the addresses of contracts added to this PXE.
|
|
156
302
|
* @returns An array of contracts addresses registered on this PXE.
|
|
157
303
|
*/
|
|
158
304
|
getContracts(): Promise<AztecAddress[]>;
|
|
159
|
-
/**
|
|
160
|
-
* A debugging utility to get notes based on the provided filter.
|
|
161
|
-
*
|
|
162
|
-
* Note that this should not be used in production code because the structure of notes is considered to be
|
|
163
|
-
* an implementation detail of contracts. This is only meant to be used for debugging purposes. If you need to obtain
|
|
164
|
-
* note-related information in production code, please implement a custom utility function on your contract and call
|
|
165
|
-
* that function instead (e.g. `get_balance(owner: AztecAddress) -> u128` utility function on a Token contract).
|
|
166
|
-
*
|
|
167
|
-
* @param filter - The filter to apply to the notes.
|
|
168
|
-
* @returns The requested notes.
|
|
169
|
-
*/
|
|
170
|
-
getNotes(filter: NotesFilter): Promise<NoteDao[]>;
|
|
171
305
|
/**
|
|
172
306
|
* Proves the private portion of a simulated transaction, ready to send to the network
|
|
173
307
|
* (where validators prove the public portion).
|
|
174
308
|
*
|
|
175
309
|
* @param txRequest - An authenticated tx request ready for proving
|
|
310
|
+
* @param scopes - Addresses whose private state and keys are accessible during private execution.
|
|
176
311
|
* @returns A result containing the proof and public inputs of the tail circuit.
|
|
177
312
|
* @throws If contract code not found, or public simulation reverts.
|
|
178
313
|
* Also throws if simulatePublic is true and public simulation reverts.
|
|
179
314
|
*/
|
|
180
|
-
proveTx(txRequest: TxExecutionRequest): Promise<TxProvingResult>;
|
|
315
|
+
proveTx(txRequest: TxExecutionRequest, { scopes, senderForTags }: ProveTxOpts): Promise<TxProvingResult>;
|
|
181
316
|
/**
|
|
182
317
|
* Profiles a transaction, reporting gate counts (unless disabled) and returns an execution trace.
|
|
183
|
-
*
|
|
184
|
-
* @param txRequest - An authenticated tx request ready for simulation
|
|
185
|
-
* @param msgSender - (Optional) The message sender to use for the simulation.
|
|
186
|
-
* @param skipTxValidation - (Optional) If false, this function throws if the transaction is unable to be included in a block at the current state.
|
|
318
|
+
* @param txRequest - An authenticated tx request ready for simulation.
|
|
187
319
|
* @returns A trace of the program execution with gate counts.
|
|
188
320
|
* @throws If the code for the functions executed in this transaction have not been made available via `addContracts`.
|
|
189
321
|
*/
|
|
190
|
-
profileTx(txRequest: TxExecutionRequest, profileMode
|
|
322
|
+
profileTx(txRequest: TxExecutionRequest, { profileMode, skipProofGeneration, scopes, senderForTags }: ProfileTxOpts): Promise<TxProfileResult>;
|
|
191
323
|
/**
|
|
192
324
|
* Simulates a transaction based on the provided preauthenticated execution request.
|
|
193
325
|
* This will run a local simulation of private execution (and optionally of public as well), run the
|
|
@@ -199,42 +331,36 @@ export declare class PXE {
|
|
|
199
331
|
* In that case, the transaction returned is only potentially ready to be sent to the network for execution.
|
|
200
332
|
*
|
|
201
333
|
*
|
|
202
|
-
* @param txRequest - An authenticated tx request ready for simulation
|
|
203
|
-
* @param simulatePublic - Whether to simulate the public part of the transaction.
|
|
204
|
-
* @param skipTxValidation - (Optional) If false, this function throws if the transaction is unable to be included in a block at the current state.
|
|
205
|
-
* @param skipFeeEnforcement - (Optional) If false, fees are enforced.
|
|
206
|
-
* @param overrides - (Optional) State overrides for the simulation, such as msgSender, contract instances and artifacts.
|
|
207
|
-
* @param scopes - (Optional) The accounts whose notes we can access in this call. Currently optional and will default to all.
|
|
334
|
+
* @param txRequest - An authenticated tx request ready for simulation.
|
|
208
335
|
* @returns A simulated transaction result object that includes public and private return values.
|
|
209
336
|
* @throws If the code for the functions executed in this transaction have not been made available via `addContracts`.
|
|
210
337
|
* Also throws if simulatePublic is true and public simulation reverts.
|
|
211
338
|
*
|
|
212
339
|
* TODO(#7456) Prevent msgSender being defined here for the first call
|
|
213
340
|
*/
|
|
214
|
-
simulateTx(txRequest: TxExecutionRequest, simulatePublic
|
|
341
|
+
simulateTx(txRequest: TxExecutionRequest, { simulatePublic, skipTxValidation, skipFeeEnforcement, skipKernels, overrides, scopes, senderForTags }: SimulateTxOpts): Promise<TxSimulationResult>;
|
|
215
342
|
/**
|
|
216
|
-
*
|
|
217
|
-
*
|
|
343
|
+
* Executes a contract utility function.
|
|
218
344
|
* @param call - The function call containing the function details, arguments, and target contract address.
|
|
219
|
-
* @param authwits - (Optional) The authentication witnesses required for the function call.
|
|
220
|
-
* @param scopes - (Optional) The accounts whose notes we can access in this call. Currently optional and will
|
|
221
|
-
* default to all.
|
|
222
|
-
* @returns The result of the utility function call, structured based on the function ABI.
|
|
223
345
|
*/
|
|
224
|
-
|
|
346
|
+
executeUtility(call: FunctionCall, { authwits, scopes }?: ExecuteUtilityOpts): Promise<UtilityExecutionResult>;
|
|
225
347
|
/**
|
|
226
348
|
* Returns the private events given search parameters.
|
|
227
|
-
* @param contractAddress - The address of the contract to get events from.
|
|
228
349
|
* @param eventSelector - Event selector to search for.
|
|
229
|
-
* @param
|
|
230
|
-
*
|
|
231
|
-
*
|
|
350
|
+
* @param filter
|
|
351
|
+
* contractAddress - The address of the contract to get events from. Required.
|
|
352
|
+
* scopes - One or more event scope addresses to filter by. Required.
|
|
353
|
+
* fromBlock - The block number to search from (inclusive). Optional. If provided, it must be >= 0.
|
|
354
|
+
* Defaults to 0.
|
|
355
|
+
* If toBlock is defined but fromBlock is not, fromBlock defaults to toBlock - 1.
|
|
356
|
+
* toBlock - The block number to search up to (exclusive). Optional. If provided, it must be > 0.
|
|
357
|
+
* Defaults to the latest known block to PXE + 1.
|
|
232
358
|
* @returns - The packed events with block and tx metadata.
|
|
233
359
|
*/
|
|
234
|
-
getPrivateEvents(
|
|
360
|
+
getPrivateEvents(eventSelector: EventSelector, filter: PrivateEventFilter): Promise<PackedPrivateEvent[]>;
|
|
235
361
|
/**
|
|
236
|
-
* Stops the PXE's job queue.
|
|
362
|
+
* Stops the PXE's job queue and closes the backing store.
|
|
237
363
|
*/
|
|
238
364
|
stop(): Promise<void>;
|
|
239
365
|
}
|
|
240
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
366
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHhlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcHhlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFakUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMxRCxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQXFDLE1BQU0sdUJBQXVCLENBQUM7QUFJdkYsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNyRixPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxLQUFLLHlCQUF5QixFQUF5QixNQUFNLDJCQUEyQixDQUFDO0FBQ2xHLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxFQUNMLEtBQUssZ0JBQWdCLEVBQ3JCLGFBQWEsRUFDYixZQUFZLEVBSWIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVoRSxPQUFPLEVBQ0wsZUFBZSxFQUNmLEtBQUssd0JBQXdCLEVBQzdCLEtBQUssbUNBQW1DLEVBQ3hDLEtBQUssMkJBQTJCLEVBQ2hDLEtBQUssY0FBYyxFQUVwQixNQUFNLHdCQUF3QixDQUFDO0FBRWhDLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQVF0RyxPQUFPLEVBQ0wsV0FBVyxFQUVYLEtBQUssSUFBSSxFQUtULG1CQUFtQixFQUduQixr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
|