@aztec/pxe 0.0.1-commit.b9865e97 → 0.0.1-commit.be03c316
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 +8 -23
- package/dest/bin/index.d.ts +2 -2
- package/dest/bin/index.d.ts.map +1 -1
- package/dest/bin/index.js +1 -1
- package/dest/bin/oracle_version_helpers.d.ts +16 -8
- package/dest/bin/oracle_version_helpers.d.ts.map +1 -1
- package/dest/bin/oracle_version_helpers.js +22 -69
- package/dest/block_synchronizer/block_stream_source.d.ts +5 -5
- package/dest/block_synchronizer/block_stream_source.d.ts.map +1 -1
- package/dest/block_synchronizer/block_stream_source.js +4 -29
- package/dest/block_synchronizer/block_synchronizer.d.ts +18 -14
- package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -1
- package/dest/block_synchronizer/block_synchronizer.js +54 -18
- package/dest/config/index.d.ts +2 -1
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +1 -0
- 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_sync → contract}/contract_sync_service.js +26 -45
- 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/contract_function_simulator.d.ts +19 -18
- package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
- package/dest/contract_function_simulator/contract_function_simulator.js +63 -32
- package/dest/contract_function_simulator/execution_note_cache.d.ts +3 -9
- package/dest/contract_function_simulator/execution_note_cache.d.ts.map +1 -1
- package/dest/contract_function_simulator/execution_note_cache.js +8 -28
- package/dest/contract_function_simulator/index.d.ts +19 -10
- package/dest/contract_function_simulator/index.d.ts.map +1 -1
- package/dest/contract_function_simulator/index.js +6 -9
- package/dest/contract_function_simulator/noir-structs/bounded_vec.d.ts +8 -27
- package/dest/contract_function_simulator/noir-structs/bounded_vec.d.ts.map +1 -1
- package/dest/contract_function_simulator/noir-structs/bounded_vec.js +8 -23
- 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/event_validation_request.js +1 -1
- 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 +11 -12
- 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 +6 -49
- package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts +10 -8
- 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 +1 -60
- package/dest/contract_function_simulator/noir-structs/note_validation_request.js +2 -2
- package/dest/contract_function_simulator/noir-structs/option.d.ts +9 -11
- package/dest/contract_function_simulator/noir-structs/option.d.ts.map +1 -1
- package/dest/contract_function_simulator/noir-structs/option.js +18 -13
- 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 +6 -9
- package/dest/contract_function_simulator/noir-structs/provided_secret.d.ts.map +1 -1
- package/dest/contract_function_simulator/noir-structs/provided_secret.js +1 -24
- 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 +6 -11
- 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 -20
- 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 +2 -3
- package/dest/contract_function_simulator/oracle/interfaces.d.ts.map +1 -1
- 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 +3 -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/oracle_registry.d.ts +43 -31
- package/dest/contract_function_simulator/oracle/oracle_registry.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/oracle_registry.js +259 -29
- package/dest/contract_function_simulator/oracle/oracle_type_mappings.d.ts +180 -45
- package/dest/contract_function_simulator/oracle/oracle_type_mappings.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/oracle_type_mappings.js +1024 -341
- package/dest/contract_function_simulator/oracle/private_execution.d.ts +1 -1
- package/dest/contract_function_simulator/oracle/private_execution.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/private_execution.js +2 -3
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +21 -8
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/private_execution_oracle.js +132 -22
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +77 -34
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +247 -106
- 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/debug/pxe_debug_utils.d.ts +2 -2
- package/dest/debug/pxe_debug_utils.d.ts.map +1 -1
- package/dest/entrypoints/client/bundle/index.d.ts +2 -1
- package/dest/entrypoints/client/bundle/index.d.ts.map +1 -1
- package/dest/entrypoints/client/bundle/index.js +1 -0
- package/dest/entrypoints/client/bundle/utils.d.ts +1 -1
- package/dest/entrypoints/client/bundle/utils.d.ts.map +1 -1
- package/dest/entrypoints/client/bundle/utils.js +17 -6
- package/dest/entrypoints/client/lazy/index.d.ts +2 -1
- package/dest/entrypoints/client/lazy/index.d.ts.map +1 -1
- package/dest/entrypoints/client/lazy/index.js +1 -0
- package/dest/entrypoints/client/lazy/utils.d.ts +1 -1
- package/dest/entrypoints/client/lazy/utils.d.ts.map +1 -1
- package/dest/entrypoints/client/lazy/utils.js +17 -6
- 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 +9 -3
- package/dest/entrypoints/pxe_creation_options.d.ts.map +1 -1
- package/dest/entrypoints/server/index.d.ts +6 -3
- package/dest/entrypoints/server/index.d.ts.map +1 -1
- package/dest/entrypoints/server/index.js +4 -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 +1 -1
- package/dest/entrypoints/server/utils.d.ts.map +1 -1
- package/dest/entrypoints/server/utils.js +16 -4
- package/dest/error_enriching.d.ts +5 -3
- package/dest/error_enriching.d.ts.map +1 -1
- package/dest/error_enriching.js +13 -11
- package/dest/hooks/execution_hooks.d.ts +31 -11
- package/dest/hooks/execution_hooks.d.ts.map +1 -1
- package/dest/hooks/execution_hooks.js +3 -3
- package/dest/hooks/index.d.ts +4 -3
- package/dest/hooks/index.d.ts.map +1 -1
- package/dest/hooks/index.js +1 -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 +8 -6
- package/dest/logs/log_service.d.ts.map +1 -1
- package/dest/logs/log_service.js +88 -28
- package/dest/messages/tx_resolver_service.d.ts +17 -0
- package/dest/messages/tx_resolver_service.d.ts.map +1 -0
- package/dest/messages/{message_context_service.js → tx_resolver_service.js} +13 -8
- package/dest/notes/note_service.d.ts +1 -1
- package/dest/notes/note_service.js +1 -1
- package/dest/oracle_version.d.ts +3 -3
- package/dest/oracle_version.js +5 -5
- package/dest/private_kernel/batch_planner.d.ts +1 -1
- package/dest/private_kernel/batch_planner.d.ts.map +1 -1
- package/dest/private_kernel/batch_planner.js +1 -1
- package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts +1 -1
- package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts.map +1 -1
- package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.js +6 -2
- package/dest/private_kernel/hints/test_utils.js +1 -1
- package/dest/private_kernel/private_kernel_execution_prover.d.ts +1 -1
- package/dest/private_kernel/private_kernel_execution_prover.d.ts.map +1 -1
- package/dest/private_kernel/private_kernel_execution_prover.js +61 -40
- package/dest/private_kernel/private_kernel_oracle.d.ts +4 -2
- package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -1
- package/dest/private_kernel/private_kernel_oracle.js +17 -5
- package/dest/pxe.d.ts +114 -48
- package/dest/pxe.d.ts.map +1 -1
- package/dest/pxe.js +225 -139
- 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 +9 -6
- package/dest/storage/anchor_block_store/anchor_block_store.d.ts.map +1 -1
- package/dest/storage/anchor_block_store/anchor_block_store.js +8 -6
- package/dest/storage/backwards_compatibility_tests/schema_tests.d.ts +1 -1
- package/dest/storage/backwards_compatibility_tests/schema_tests.d.ts.map +1 -1
- package/dest/storage/backwards_compatibility_tests/schema_tests.js +129 -49
- package/dest/storage/capsule_store/capsule_service.d.ts +1 -1
- package/dest/storage/capsule_store/capsule_service.d.ts.map +1 -1
- package/dest/storage/capsule_store/capsule_service.js +6 -9
- package/dest/storage/contract_store/contract_store.d.ts +27 -24
- package/dest/storage/contract_store/contract_store.d.ts.map +1 -1
- package/dest/storage/contract_store/contract_store.js +64 -75
- 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 +3 -2
- package/dest/storage/index.d.ts.map +1 -1
- package/dest/storage/index.js +2 -1
- 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/note_store.d.ts +42 -33
- package/dest/storage/note_store/note_store.d.ts.map +1 -1
- package/dest/storage/note_store/note_store.js +197 -168
- package/dest/storage/note_store/stored_note.d.ts +3 -8
- package/dest/storage/note_store/stored_note.d.ts.map +1 -1
- package/dest/storage/note_store/stored_note.js +4 -20
- package/dest/storage/open_pxe_stores.d.ts +5 -3
- package/dest/storage/open_pxe_stores.d.ts.map +1 -1
- package/dest/storage/open_pxe_stores.js +5 -3
- package/dest/storage/private_event_store/private_event_store.d.ts +13 -16
- package/dest/storage/private_event_store/private_event_store.d.ts.map +1 -1
- package/dest/storage/private_event_store/private_event_store.js +40 -43
- 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 +2 -2
- package/dest/storage/tagging_store/index.d.ts.map +1 -1
- package/dest/storage/tagging_store/index.js +1 -1
- package/dest/storage/tagging_store/sender_tagging_store.d.ts +19 -3
- package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -1
- package/dest/storage/tagging_store/sender_tagging_store.js +48 -11
- 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 -10
- package/dest/tagging/index.d.ts +2 -2
- package/dest/tagging/index.d.ts.map +1 -1
- package/dest/tagging/index.js +1 -1
- package/dest/tagging/recipient_sync/sync_tagged_private_logs.d.ts +26 -8
- package/dest/tagging/recipient_sync/sync_tagged_private_logs.d.ts.map +1 -1
- package/dest/tagging/recipient_sync/sync_tagged_private_logs.js +95 -20
- package/dest/tagging/sender_sync/sync_sender_tagging_indexes.js +1 -1
- package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts +1 -1
- package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts.map +1 -1
- package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.js +6 -2
- 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 +17 -17
- package/src/bin/check_oracle_version.ts +8 -24
- package/src/bin/index.ts +1 -1
- package/src/bin/oracle_version_helpers.ts +23 -90
- package/src/block_synchronizer/block_stream_source.ts +6 -45
- package/src/block_synchronizer/block_synchronizer.ts +70 -29
- package/src/config/index.ts +1 -0
- package/src/contract/contract_class_service.ts +83 -0
- package/src/{contract_sync → contract}/contract_sync_service.ts +37 -50
- 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/contract_function_simulator.ts +96 -42
- package/src/contract_function_simulator/execution_note_cache.ts +7 -28
- package/src/contract_function_simulator/index.ts +48 -13
- package/src/contract_function_simulator/noir-structs/bounded_vec.ts +12 -24
- 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/event_validation_request.ts +1 -1
- 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 +20 -46
- package/src/contract_function_simulator/noir-structs/log_retrieval_response.ts +13 -60
- package/src/contract_function_simulator/noir-structs/note_validation_request.ts +2 -2
- package/src/contract_function_simulator/noir-structs/option.ts +17 -11
- 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 +4 -26
- 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 +5 -17
- 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 +1 -2
- 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/oracle_registry.ts +172 -47
- package/src/contract_function_simulator/oracle/oracle_type_mappings.ts +814 -315
- package/src/contract_function_simulator/oracle/private_execution.ts +2 -3
- package/src/contract_function_simulator/oracle/private_execution_oracle.ts +167 -30
- package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +399 -135
- package/src/contract_function_simulator/transient_array_service.ts +91 -0
- package/src/debug/pxe_debug_utils.ts +1 -1
- package/src/entrypoints/client/bundle/index.ts +1 -0
- package/src/entrypoints/client/bundle/utils.ts +24 -5
- package/src/entrypoints/client/lazy/index.ts +1 -0
- package/src/entrypoints/client/lazy/utils.ts +24 -5
- package/src/entrypoints/client/store.ts +54 -0
- package/src/entrypoints/pxe_creation_options.ts +8 -2
- package/src/entrypoints/server/index.ts +6 -2
- package/src/entrypoints/server/store.ts +47 -0
- package/src/entrypoints/server/utils.ts +31 -9
- package/src/error_enriching.ts +27 -11
- package/src/hooks/execution_hooks.ts +32 -12
- package/src/hooks/index.ts +8 -2
- 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 +100 -37
- package/src/messages/{message_context_service.ts → tx_resolver_service.ts} +16 -9
- package/src/notes/note_service.ts +1 -1
- package/src/oracle_version.ts +5 -5
- package/src/private_kernel/batch_planner.ts +0 -1
- package/src/private_kernel/hints/private_kernel_reset_private_inputs_builder.ts +11 -1
- package/src/private_kernel/hints/test_utils.ts +1 -1
- package/src/private_kernel/private_kernel_execution_prover.ts +112 -56
- package/src/private_kernel/private_kernel_oracle.ts +23 -4
- package/src/pxe.ts +328 -159
- package/src/storage/allowed_scopes.ts +14 -0
- package/src/storage/anchor_block_store/anchor_block_store.ts +8 -6
- package/src/storage/backwards_compatibility_tests/__snapshots__/AddressStore.json +6 -6
- package/src/storage/backwards_compatibility_tests/__snapshots__/ContractStore.json +1 -1
- package/src/storage/backwards_compatibility_tests/__snapshots__/FactStore.json +40 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/KeyStore.json +12 -12
- package/src/storage/backwards_compatibility_tests/__snapshots__/L2TipsKVStore.json +9 -15
- package/src/storage/backwards_compatibility_tests/__snapshots__/NoteStore.json +24 -4
- package/src/storage/backwards_compatibility_tests/__snapshots__/RecipientTaggingStore.json +11 -3
- package/src/storage/backwards_compatibility_tests/__snapshots__/SenderTaggingStore.json +12 -4
- package/src/storage/backwards_compatibility_tests/__snapshots__/TaggingSecretSourcesStore.json +30 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json +29 -9
- package/src/storage/backwards_compatibility_tests/schema_tests.ts +141 -50
- package/src/storage/capsule_store/capsule_service.ts +8 -13
- package/src/storage/contract_store/contract_store.ts +86 -93
- 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 +2 -1
- package/src/storage/metadata.ts +1 -1
- package/src/storage/note_store/note_store.ts +226 -187
- package/src/storage/note_store/stored_note.ts +5 -27
- package/src/storage/open_pxe_stores.ts +6 -3
- package/src/storage/private_event_store/private_event_store.ts +49 -55
- package/src/storage/store_identity.ts +72 -0
- package/src/storage/tagging_store/index.ts +1 -1
- package/src/storage/tagging_store/sender_tagging_store.ts +62 -15
- package/src/storage/tagging_store/tagging_secret_sources_store.ts +138 -0
- package/src/tagging/constants.ts +30 -10
- package/src/tagging/index.ts +1 -1
- package/src/tagging/recipient_sync/sync_tagged_private_logs.ts +148 -30
- package/src/tagging/sender_sync/sync_sender_tagging_indexes.ts +1 -1
- package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +6 -2
- package/src/tagging/testing/tag_query_test_utils.ts +11 -0
- package/dest/contract_function_simulator/oracle/oracle.d.ts +0 -89
- package/dest/contract_function_simulator/oracle/oracle.d.ts.map +0 -1
- package/dest/contract_function_simulator/oracle/oracle.js +0 -552
- 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 -51
- package/dest/contract_sync/contract_sync_service.d.ts +0 -42
- package/dest/contract_sync/contract_sync_service.d.ts.map +0 -1
- package/dest/contract_sync/helpers.d.ts +0 -27
- package/dest/contract_sync/helpers.d.ts.map +0 -1
- package/dest/contract_sync/helpers.js +0 -53
- package/dest/messages/message_context_service.d.ts +0 -17
- package/dest/messages/message_context_service.d.ts.map +0 -1
- package/dest/storage/tagging_store/sender_address_book_store.d.ts +0 -14
- package/dest/storage/tagging_store/sender_address_book_store.d.ts.map +0 -1
- package/dest/storage/tagging_store/sender_address_book_store.js +0 -36
- package/src/contract_function_simulator/oracle/oracle.ts +0 -711
- package/src/contract_function_simulator/proxied_contract_data_source.ts +0 -60
- package/src/contract_sync/helpers.ts +0 -86
- package/src/storage/backwards_compatibility_tests/__snapshots__/SenderAddressBookStore.json +0 -16
- package/src/storage/tagging_store/sender_address_book_store.ts +0 -48
|
@@ -21,7 +21,7 @@ import { PrivateCircuitPublicInputs } from '@aztec/stdlib/kernel';
|
|
|
21
21
|
import type { CircuitWitnessGenerationStats } from '@aztec/stdlib/stats';
|
|
22
22
|
import { PrivateCallExecutionResult } from '@aztec/stdlib/tx';
|
|
23
23
|
|
|
24
|
-
import {
|
|
24
|
+
import { buildACIRCallback } from './acir_callback.js';
|
|
25
25
|
import type { PrivateExecutionOracle } from './private_execution_oracle.js';
|
|
26
26
|
|
|
27
27
|
/**
|
|
@@ -43,10 +43,9 @@ export async function executePrivateFunction(
|
|
|
43
43
|
const functionName = await privateExecutionOracle.getDebugFunctionName();
|
|
44
44
|
log.verbose(`Executing private function ${functionName}`, { contract: contractAddress });
|
|
45
45
|
const initialWitness = privateExecutionOracle.getInitialWitness(artifact);
|
|
46
|
-
const acvmCallback = new Oracle(privateExecutionOracle);
|
|
47
46
|
const timer = new Timer();
|
|
48
47
|
const acirExecutionResult = await simulator
|
|
49
|
-
.executeUserCircuit(initialWitness, artifact,
|
|
48
|
+
.executeUserCircuit(initialWitness, artifact, buildACIRCallback(privateExecutionOracle))
|
|
50
49
|
.catch((err: Error) => {
|
|
51
50
|
err.message = resolveAssertionMessageFromError(err, artifact);
|
|
52
51
|
throw new ExecutionError(
|
|
@@ -16,7 +16,8 @@ import { PrivateContextInputs } from '@aztec/stdlib/kernel';
|
|
|
16
16
|
import {
|
|
17
17
|
AppTaggingSecret,
|
|
18
18
|
AppTaggingSecretKind,
|
|
19
|
-
|
|
19
|
+
ContractClassLog,
|
|
20
|
+
ContractClassLogFields,
|
|
20
21
|
type TaggingIndexRange,
|
|
21
22
|
} from '@aztec/stdlib/logs';
|
|
22
23
|
import { Note, type NoteStatus } from '@aztec/stdlib/note';
|
|
@@ -28,25 +29,34 @@ import {
|
|
|
28
29
|
type TxContext,
|
|
29
30
|
} from '@aztec/stdlib/tx';
|
|
30
31
|
|
|
32
|
+
import type { ResolveCustomRequest } from '../../hooks/resolve_custom_request.js';
|
|
33
|
+
import {
|
|
34
|
+
DEFAULT_TAGGING_SECRET_STRATEGY,
|
|
35
|
+
type ResolveTaggingSecretStrategy,
|
|
36
|
+
type TaggingSecretStrategy,
|
|
37
|
+
} from '../../hooks/resolve_tagging_secret_strategy.js';
|
|
31
38
|
import { NoteService } from '../../notes/note_service.js';
|
|
39
|
+
import { assertAllowedScope } from '../../storage/allowed_scopes.js';
|
|
32
40
|
import type { SenderTaggingStore } from '../../storage/tagging_store/sender_tagging_store.js';
|
|
33
41
|
import { syncSenderTaggingIndexes } from '../../tagging/index.js';
|
|
34
42
|
import type { ExecutionNoteCache } from '../execution_note_cache.js';
|
|
35
43
|
import { ExecutionTaggingIndexCache } from '../execution_tagging_index_cache.js';
|
|
36
44
|
import type { HashedValuesCache } from '../hashed_values_cache.js';
|
|
37
45
|
import { BoundedVec } from '../noir-structs/bounded_vec.js';
|
|
46
|
+
import type { ContractClassLogData } from '../noir-structs/contract_class_log_data.js';
|
|
38
47
|
import type { NoteData } from '../noir-structs/note_data.js';
|
|
39
48
|
import { Option } from '../noir-structs/option.js';
|
|
49
|
+
import type { ResolvedTaggingStrategy } from '../noir-structs/resolved_tagging_strategy.js';
|
|
40
50
|
import { pickNotes } from '../pick_notes.js';
|
|
41
51
|
import type { IPrivateExecutionOracle } from './interfaces.js';
|
|
42
52
|
import { executePrivateFunction } from './private_execution.js';
|
|
43
53
|
import { UtilityExecutionOracle, type UtilityExecutionOracleArgs } from './utility_execution_oracle.js';
|
|
44
54
|
|
|
45
55
|
/** Args for PrivateExecutionOracle constructor. */
|
|
46
|
-
export type PrivateExecutionOracleArgs =
|
|
56
|
+
export type PrivateExecutionOracleArgs = UtilityExecutionOracleArgs & {
|
|
47
57
|
argsHash: Fr;
|
|
48
58
|
txContext: TxContext;
|
|
49
|
-
|
|
59
|
+
txRequestSalt: Fr;
|
|
50
60
|
executionCache: HashedValuesCache;
|
|
51
61
|
noteCache: ExecutionNoteCache;
|
|
52
62
|
taggingIndexCache: ExecutionTaggingIndexCache;
|
|
@@ -77,7 +87,7 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
77
87
|
|
|
78
88
|
private readonly argsHash: Fr;
|
|
79
89
|
private readonly txContext: TxContext;
|
|
80
|
-
private readonly
|
|
90
|
+
private readonly txRequestSalt: Fr;
|
|
81
91
|
private readonly executionCache: HashedValuesCache;
|
|
82
92
|
private readonly noteCache: ExecutionNoteCache;
|
|
83
93
|
private readonly taggingIndexCache: ExecutionTaggingIndexCache;
|
|
@@ -90,12 +100,11 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
90
100
|
constructor(args: PrivateExecutionOracleArgs) {
|
|
91
101
|
super({
|
|
92
102
|
...args,
|
|
93
|
-
contractAddress: args.callContext.contractAddress,
|
|
94
103
|
log: args.log ?? createLogger('simulator:client_execution_context'),
|
|
95
104
|
});
|
|
96
105
|
this.argsHash = args.argsHash;
|
|
97
106
|
this.txContext = args.txContext;
|
|
98
|
-
this.
|
|
107
|
+
this.txRequestSalt = args.txRequestSalt;
|
|
99
108
|
this.executionCache = args.executionCache;
|
|
100
109
|
this.noteCache = args.noteCache;
|
|
101
110
|
this.taggingIndexCache = args.taggingIndexCache;
|
|
@@ -111,6 +120,7 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
111
120
|
this.anchorBlockHeader,
|
|
112
121
|
this.txContext,
|
|
113
122
|
this.initialSideEffectCounter,
|
|
123
|
+
this.txRequestSalt,
|
|
114
124
|
);
|
|
115
125
|
}
|
|
116
126
|
|
|
@@ -181,9 +191,124 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
181
191
|
* Returns the wallet-supplied default sender for tags, or `None` if no default was provided.
|
|
182
192
|
*/
|
|
183
193
|
public getSenderForTags(): Promise<Option<AztecAddress>> {
|
|
184
|
-
return Promise.resolve(
|
|
185
|
-
|
|
186
|
-
|
|
194
|
+
return Promise.resolve(this.defaultSenderForTags ? Option.some(this.defaultSenderForTags) : Option.none());
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
/**
|
|
198
|
+
* Resolves a custom, caller-defined request via the {@link ResolveCustomRequest} hook, which produces the response
|
|
199
|
+
* however it needs to. Throws when no hook is configured, since the request cannot be served.
|
|
200
|
+
*/
|
|
201
|
+
public async resolveCustomRequest(kind: Fr, payload: Fr[]): Promise<Fr[]> {
|
|
202
|
+
const hook: ResolveCustomRequest | undefined = this.hooks?.resolveCustomRequest;
|
|
203
|
+
if (!hook) {
|
|
204
|
+
throw new Error('Cannot serve a request: no resolveCustomRequest hook is configured');
|
|
205
|
+
}
|
|
206
|
+
const contractClassId = await this.#getCurrentContractClassId(this.contractAddress);
|
|
207
|
+
return hook({ contractAddress: this.contractAddress, contractClassId, kind, payload });
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
/**
|
|
211
|
+
* Resolves the tagging strategy for a message via the wallet's {@link ResolveTaggingSecretStrategy} hook. The contract receives a ready-to-use {@link ResolvedTaggingStrategy}.
|
|
212
|
+
* When no hook is configured, applies a default: a non-interactive handshake, except for an unconstrained self-send,
|
|
213
|
+
* which uses an address-derived secret.
|
|
214
|
+
*/
|
|
215
|
+
public async resolveTaggingStrategy(
|
|
216
|
+
sender: AztecAddress,
|
|
217
|
+
recipient: AztecAddress,
|
|
218
|
+
deliveryMode: AppTaggingSecretKind,
|
|
219
|
+
): Promise<ResolvedTaggingStrategy> {
|
|
220
|
+
const [isUnconstrainedSelfSend, chosenStrategy] = await Promise.all([
|
|
221
|
+
this.#isUnconstrainedSelfSend(recipient, deliveryMode),
|
|
222
|
+
this.#chooseTaggingSecretStrategy(sender, recipient, deliveryMode),
|
|
223
|
+
]);
|
|
224
|
+
|
|
225
|
+
// For unconstrained delivery, a self-send uses a local address-derived secret instead of a non-interactive
|
|
226
|
+
// handshake. A self-send is one where the wallet controls the recipient's keys, so both sides' keys are local: no
|
|
227
|
+
// handshake is needed and nothing is revealed onchain. It also avoids a recursion: a handshake self-delivers its
|
|
228
|
+
// note via unconstrained delivery, which would establish yet another handshake. This guard runs regardless of the
|
|
229
|
+
// resolved strategy (hook or default), to protect wallets from invalid configuration.
|
|
230
|
+
const strategy: TaggingSecretStrategy = isUnconstrainedSelfSend ? { type: 'address-derived' } : chosenStrategy;
|
|
231
|
+
|
|
232
|
+
return this.#resolveTaggingSecretStrategy(strategy, sender, recipient);
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
async #chooseTaggingSecretStrategy(
|
|
236
|
+
sender: AztecAddress,
|
|
237
|
+
recipient: AztecAddress,
|
|
238
|
+
deliveryMode: AppTaggingSecretKind,
|
|
239
|
+
): Promise<TaggingSecretStrategy> {
|
|
240
|
+
const hook: ResolveTaggingSecretStrategy | undefined = this.hooks?.resolveTaggingSecretStrategy;
|
|
241
|
+
if (!hook) {
|
|
242
|
+
return DEFAULT_TAGGING_SECRET_STRATEGY;
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
const contractClassId = await this.#getCurrentContractClassId(this.contractAddress);
|
|
246
|
+
return hook({
|
|
247
|
+
contractAddress: this.contractAddress,
|
|
248
|
+
contractClassId,
|
|
249
|
+
sender,
|
|
250
|
+
recipient,
|
|
251
|
+
deliveryMode,
|
|
252
|
+
});
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
/**
|
|
256
|
+
* Resolves the class id the given contract runs at this simulation's anchor block. The instance no longer carries
|
|
257
|
+
* its class id (it is chain-derived), so it is resolved via the anchored contract data instead.
|
|
258
|
+
*/
|
|
259
|
+
async #getCurrentContractClassId(address: AztecAddress): Promise<Fr> {
|
|
260
|
+
const classId = await this.anchoredContractData.getCurrentClassId(address);
|
|
261
|
+
if (classId === undefined) {
|
|
262
|
+
throw new Error(`Cannot resolve the current contract class for ${address}`);
|
|
263
|
+
}
|
|
264
|
+
return classId;
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
/** Whether this is an unconstrained delivery to one of the wallet's own accounts (a self-send). */
|
|
268
|
+
#isUnconstrainedSelfSend(recipient: AztecAddress, deliveryMode: AppTaggingSecretKind) {
|
|
269
|
+
return deliveryMode === AppTaggingSecretKind.UNCONSTRAINED
|
|
270
|
+
? this.keyStore.hasAccount(recipient)
|
|
271
|
+
: Promise.resolve(false);
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
/** Resolves a wallet-provided {@link TaggingSecretStrategy} into the app-siloed secret handed to the contract. */
|
|
275
|
+
async #resolveTaggingSecretStrategy(
|
|
276
|
+
strategy: TaggingSecretStrategy,
|
|
277
|
+
sender: AztecAddress,
|
|
278
|
+
recipient: AztecAddress,
|
|
279
|
+
): Promise<ResolvedTaggingStrategy> {
|
|
280
|
+
// PXE only performs the derivation; it does not reject a strategy that is unsound for the delivery mode (e.g. an
|
|
281
|
+
// address-derived or arbitrary-secret strategy for constrained delivery). That soundness check belongs in the
|
|
282
|
+
// Noir circuit, which constrains the resolved strategy against the delivery mode.
|
|
283
|
+
switch (strategy.type) {
|
|
284
|
+
case 'non-interactive-handshake':
|
|
285
|
+
return { type: 'non-interactive-handshake' };
|
|
286
|
+
case 'interactive-handshake':
|
|
287
|
+
return { type: 'interactive-handshake' };
|
|
288
|
+
case 'address-derived':
|
|
289
|
+
return this.#addressDerivedSecret(sender, recipient);
|
|
290
|
+
case 'arbitrary-secret': {
|
|
291
|
+
// App-silo the raw arbitrary secret point here so wallets never replicate the derivation.
|
|
292
|
+
const appTaggingSecret = await AppTaggingSecret.computeDirectional(
|
|
293
|
+
strategy.secret,
|
|
294
|
+
this.contractAddress,
|
|
295
|
+
recipient,
|
|
296
|
+
);
|
|
297
|
+
return { type: 'unconstrained-secret', secret: appTaggingSecret.secret };
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
/**
|
|
303
|
+
* The app-siloed, recipient-directional secret derived from the sender's and recipient's address keys via ECDH,
|
|
304
|
+
* ready to hand to the contract. Callers must validate the recipient in-circuit before reaching here, so an invalid one is unexpected.
|
|
305
|
+
*/
|
|
306
|
+
async #addressDerivedSecret(sender: AztecAddress, recipient: AztecAddress): Promise<ResolvedTaggingStrategy> {
|
|
307
|
+
const secret = await this.getAppTaggingSecret(sender, recipient);
|
|
308
|
+
if (!secret.isSome()) {
|
|
309
|
+
throw new Error(`Cannot derive an address-derived tagging secret for invalid recipient ${recipient}`);
|
|
310
|
+
}
|
|
311
|
+
return { type: 'unconstrained-secret', secret: secret.value };
|
|
187
312
|
}
|
|
188
313
|
|
|
189
314
|
/**
|
|
@@ -197,13 +322,23 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
197
322
|
* @returns The app tagging secret, or `None` if the recipient is invalid.
|
|
198
323
|
*/
|
|
199
324
|
public async getAppTaggingSecret(sender: AztecAddress, recipient: AztecAddress): Promise<Option<Fr>> {
|
|
200
|
-
|
|
325
|
+
assertAllowedScope(sender, this.scopes);
|
|
326
|
+
|
|
327
|
+
const senderCompleteAddress = await this.getCompleteAddressOrFail(sender);
|
|
328
|
+
const senderIvsk = await this.keyStore.getMasterIncomingViewingSecretKey(sender);
|
|
329
|
+
const extendedSecret = await AppTaggingSecret.computeViaEcdh(
|
|
330
|
+
senderCompleteAddress,
|
|
331
|
+
senderIvsk,
|
|
332
|
+
recipient,
|
|
333
|
+
this.contractAddress,
|
|
334
|
+
recipient,
|
|
335
|
+
);
|
|
201
336
|
|
|
202
337
|
if (!extendedSecret) {
|
|
203
338
|
this.logger.warn(`Computing a tagging secret for invalid recipient ${recipient} - returning no secret`, {
|
|
204
339
|
contractAddress: this.contractAddress,
|
|
205
340
|
});
|
|
206
|
-
return Option.none(
|
|
341
|
+
return Option.none();
|
|
207
342
|
}
|
|
208
343
|
|
|
209
344
|
return Option.some(extendedSecret.secret);
|
|
@@ -230,18 +365,6 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
230
365
|
return index;
|
|
231
366
|
}
|
|
232
367
|
|
|
233
|
-
async #calculateAppTaggingSecret(contractAddress: AztecAddress, sender: AztecAddress, recipient: AztecAddress) {
|
|
234
|
-
const senderCompleteAddress = await this.getCompleteAddressOrFail(sender);
|
|
235
|
-
const senderIvsk = await this.keyStore.getMasterIncomingViewingSecretKey(sender);
|
|
236
|
-
return AppTaggingSecret.computeUnconstrained(
|
|
237
|
-
senderCompleteAddress,
|
|
238
|
-
senderIvsk,
|
|
239
|
-
recipient,
|
|
240
|
-
contractAddress,
|
|
241
|
-
recipient,
|
|
242
|
-
);
|
|
243
|
-
}
|
|
244
|
-
|
|
245
368
|
async #getIndexToUseForSecret(secret: AppTaggingSecret): Promise<number> {
|
|
246
369
|
// If we have the tagging index in the cache, we use it. If not we obtain it from the execution data provider.
|
|
247
370
|
const lastUsedIndexInTx = this.taggingIndexCache.getLastUsedIndex(secret);
|
|
@@ -475,10 +598,15 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
475
598
|
* Emit a contract class log.
|
|
476
599
|
* This fn exists because we only carry a poseidon hash through the kernels, and need to
|
|
477
600
|
* keep the preimage in ts for later.
|
|
478
|
-
* @param
|
|
601
|
+
* @param logData - The contract class log to be emitted.
|
|
479
602
|
* @param counter - The contract class log's counter.
|
|
480
603
|
*/
|
|
481
|
-
public notifyCreatedContractClassLog(
|
|
604
|
+
public notifyCreatedContractClassLog(logData: ContractClassLogData, counter: number) {
|
|
605
|
+
const log = ContractClassLog.from({
|
|
606
|
+
contractAddress: logData.contractAddress,
|
|
607
|
+
fields: new ContractClassLogFields(logData.fields),
|
|
608
|
+
emittedLength: logData.emittedLength,
|
|
609
|
+
});
|
|
482
610
|
this.contractClassLogs.push(new CountedContractClassLog(log, counter));
|
|
483
611
|
const text = log.toBuffer().toString('hex');
|
|
484
612
|
this.logger.verbose(
|
|
@@ -536,10 +664,16 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
536
664
|
this.scopes,
|
|
537
665
|
);
|
|
538
666
|
|
|
539
|
-
const targetArtifact = await this.
|
|
667
|
+
const targetArtifact = await this.anchoredContractData.getFunctionArtifactWithDebugMetadata(
|
|
540
668
|
targetContractAddress,
|
|
541
669
|
functionSelector,
|
|
542
670
|
);
|
|
671
|
+
if (!targetArtifact) {
|
|
672
|
+
throw new Error(
|
|
673
|
+
`Cannot call ${targetContractAddress}:${functionSelector}: the contract is not registered. ` +
|
|
674
|
+
`Register it via wallet.registerContract(...).`,
|
|
675
|
+
);
|
|
676
|
+
}
|
|
543
677
|
|
|
544
678
|
const derivedTxContext = this.txContext.clone();
|
|
545
679
|
|
|
@@ -548,6 +682,7 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
548
682
|
const privateExecutionOracle = new PrivateExecutionOracle({
|
|
549
683
|
argsHash,
|
|
550
684
|
txContext: derivedTxContext,
|
|
685
|
+
txRequestSalt: this.txRequestSalt,
|
|
551
686
|
callContext: derivedCallContext,
|
|
552
687
|
anchorBlockHeader: this.anchorBlockHeader,
|
|
553
688
|
utilityExecutor: this.utilityExecutor,
|
|
@@ -556,17 +691,18 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
556
691
|
executionCache: this.executionCache,
|
|
557
692
|
noteCache: this.noteCache,
|
|
558
693
|
taggingIndexCache: this.taggingIndexCache,
|
|
559
|
-
|
|
694
|
+
anchoredContractData: this.anchoredContractData,
|
|
560
695
|
noteStore: this.noteStore,
|
|
561
696
|
keyStore: this.keyStore,
|
|
562
697
|
addressStore: this.addressStore,
|
|
563
698
|
aztecNode: this.aztecNode,
|
|
564
699
|
senderTaggingStore: this.senderTaggingStore,
|
|
565
700
|
recipientTaggingStore: this.recipientTaggingStore,
|
|
566
|
-
|
|
701
|
+
taggingSecretSourcesStore: this.taggingSecretSourcesStore,
|
|
567
702
|
capsuleService: this.capsuleService,
|
|
703
|
+
factService: this.factService,
|
|
568
704
|
privateEventStore: this.privateEventStore,
|
|
569
|
-
|
|
705
|
+
txResolver: this.txResolver,
|
|
570
706
|
contractSyncService: this.contractSyncService,
|
|
571
707
|
jobId: this.jobId,
|
|
572
708
|
totalPublicCalldataCount: this.totalPublicCalldataCount,
|
|
@@ -577,6 +713,7 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
577
713
|
simulator: this.simulator,
|
|
578
714
|
hooks: this.hooks,
|
|
579
715
|
l2TipsStore: this.l2TipsStore,
|
|
716
|
+
transientArrayService: this.transientArrayService,
|
|
580
717
|
});
|
|
581
718
|
|
|
582
719
|
const setupTime = simulatorSetupTimer.ms();
|
|
@@ -658,7 +795,7 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
658
795
|
}
|
|
659
796
|
|
|
660
797
|
public getDebugFunctionName() {
|
|
661
|
-
return this.
|
|
798
|
+
return this.anchoredContractData.getDebugFunctionName(this.contractAddress, this.callContext.functionSelector);
|
|
662
799
|
}
|
|
663
800
|
|
|
664
801
|
protected override get callerContext() {
|