@aztec/pxe 0.0.1-commit.f504929 → 0.0.1-commit.f5a9928
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 +41 -112
- 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 +22 -16
- package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -1
- package/dest/block_synchronizer/block_synchronizer.js +71 -28
- package/dest/config/index.d.ts +9 -2
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +14 -15
- package/dest/config/package_info.js +1 -1
- package/dest/contract/contract_class_service.d.ts +24 -0
- package/dest/contract/contract_class_service.d.ts.map +1 -0
- package/dest/contract/contract_class_service.js +36 -0
- package/dest/contract/contract_sync_service.d.ts +48 -0
- package/dest/contract/contract_sync_service.d.ts.map +1 -0
- package/dest/contract/contract_sync_service.js +119 -0
- package/dest/contract/helpers.d.ts +7 -0
- package/dest/contract/helpers.d.ts.map +1 -0
- package/dest/contract/helpers.js +20 -0
- package/dest/contract/skip_sync_contracts.d.ts +11 -0
- package/dest/contract/skip_sync_contracts.d.ts.map +1 -0
- package/dest/contract/skip_sync_contracts.js +18 -0
- package/dest/contract_function_simulator/anchored_contract_data.d.ts +36 -0
- package/dest/contract_function_simulator/anchored_contract_data.d.ts.map +1 -0
- package/dest/contract_function_simulator/anchored_contract_data.js +54 -0
- package/dest/contract_function_simulator/contract_function_simulator.d.ts +30 -25
- package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
- package/dest/contract_function_simulator/contract_function_simulator.js +114 -66
- 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 +4 -10
- package/dest/contract_function_simulator/execution_note_cache.d.ts.map +1 -1
- package/dest/contract_function_simulator/execution_note_cache.js +10 -29
- 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/index.d.ts +26 -5
- package/dest/contract_function_simulator/index.d.ts.map +1 -1
- package/dest/contract_function_simulator/index.js +11 -3
- 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 +3 -4
- 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 +9 -10
- 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 +19 -10
- 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 -24
- 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 +3 -5
- 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 +8 -12
- 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 +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 +15 -98
- 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 +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/note_packing_utils.d.ts +2 -2
- package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/note_packing_utils.js +2 -2
- 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 +1 -1
- package/dest/contract_function_simulator/oracle/private_execution.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/private_execution.js +7 -6
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +56 -71
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/private_execution_oracle.js +200 -99
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +183 -76
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +662 -156
- package/dest/contract_function_simulator/pick_notes.d.ts +1 -1
- package/dest/contract_function_simulator/pick_notes.d.ts.map +1 -1
- package/dest/contract_function_simulator/pick_notes.js +20 -3
- 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 +9 -4
- package/dest/contract_logging.d.ts.map +1 -1
- package/dest/contract_logging.js +21 -6
- package/dest/debug/pxe_debug_utils.d.ts +4 -9
- package/dest/debug/pxe_debug_utils.d.ts.map +1 -1
- package/dest/debug/pxe_debug_utils.js +0 -6
- package/dest/entrypoints/client/bundle/index.d.ts +2 -2
- package/dest/entrypoints/client/bundle/index.d.ts.map +1 -1
- package/dest/entrypoints/client/bundle/index.js +1 -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 +21 -8
- package/dest/entrypoints/client/lazy/index.d.ts +2 -2
- package/dest/entrypoints/client/lazy/index.d.ts.map +1 -1
- package/dest/entrypoints/client/lazy/index.js +1 -1
- package/dest/entrypoints/client/lazy/utils.d.ts +2 -2
- package/dest/entrypoints/client/lazy/utils.d.ts.map +1 -1
- package/dest/entrypoints/client/lazy/utils.js +21 -8
- 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 +16 -2
- 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 +7 -4
- package/dest/entrypoints/server/index.d.ts.map +1 -1
- package/dest/entrypoints/server/index.js +5 -3
- 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 +22 -8
- package/dest/error_enriching.d.ts +5 -3
- package/dest/error_enriching.d.ts.map +1 -1
- package/dest/error_enriching.js +15 -12
- package/dest/events/event_service.d.ts +21 -5
- package/dest/events/event_service.d.ts.map +1 -1
- package/dest/events/event_service.js +51 -17
- package/dest/events/private_event_filter_validator.d.ts +3 -2
- package/dest/events/private_event_filter_validator.d.ts.map +1 -1
- package/dest/events/private_event_filter_validator.js +15 -0
- package/dest/hooks/authorize_utility_call.d.ts +41 -0
- package/dest/hooks/authorize_utility_call.d.ts.map +1 -0
- package/dest/hooks/authorize_utility_call.js +4 -0
- package/dest/hooks/execution_hooks.d.ts +62 -0
- package/dest/hooks/execution_hooks.d.ts.map +1 -0
- package/dest/hooks/execution_hooks.js +9 -0
- package/dest/hooks/index.d.ts +5 -0
- package/dest/hooks/index.d.ts.map +1 -0
- package/dest/hooks/index.js +2 -0
- package/dest/hooks/resolve_custom_request.d.ts +23 -0
- package/dest/hooks/resolve_custom_request.d.ts.map +1 -0
- package/dest/hooks/resolve_custom_request.js +3 -0
- package/dest/hooks/resolve_tagging_secret_strategy.d.ts +50 -0
- package/dest/hooks/resolve_tagging_secret_strategy.d.ts.map +1 -0
- package/dest/hooks/resolve_tagging_secret_strategy.js +3 -0
- package/dest/logs/log_service.d.ts +21 -11
- package/dest/logs/log_service.d.ts.map +1 -1
- package/dest/logs/log_service.js +181 -82
- package/dest/messages/tx_resolver_service.d.ts +28 -0
- package/dest/messages/tx_resolver_service.d.ts.map +1 -0
- package/dest/messages/tx_resolver_service.js +62 -0
- package/dest/node/benchmarked_node.d.ts +20 -0
- package/dest/node/benchmarked_node.d.ts.map +1 -0
- package/dest/node/benchmarked_node.js +94 -0
- package/dest/node/caching_aztec_node.d.ts +24 -0
- package/dest/node/caching_aztec_node.d.ts.map +1 -0
- package/dest/node/caching_aztec_node.js +268 -0
- package/dest/notes/note_service.d.ts +34 -7
- package/dest/notes/note_service.d.ts.map +1 -1
- package/dest/notes/note_service.js +82 -57
- package/dest/notes_filter.d.ts +2 -3
- package/dest/notes_filter.d.ts.map +1 -1
- package/dest/oracle_version.d.ts +4 -3
- package/dest/oracle_version.d.ts.map +1 -1
- package/dest/oracle_version.js +20 -10
- 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/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 +10 -5
- package/dest/private_kernel/hints/test_utils.d.ts +1 -1
- package/dest/private_kernel/hints/test_utils.d.ts.map +1 -1
- package/dest/private_kernel/hints/test_utils.js +3 -4
- package/dest/private_kernel/private_kernel_execution_prover.d.ts +6 -2
- package/dest/private_kernel/private_kernel_execution_prover.d.ts.map +1 -1
- package/dest/private_kernel/private_kernel_execution_prover.js +160 -85
- package/dest/private_kernel/private_kernel_oracle.d.ts +12 -10
- package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -1
- package/dest/private_kernel/private_kernel_oracle.js +40 -26
- package/dest/pxe.d.ts +169 -54
- package/dest/pxe.d.ts.map +1 -1
- package/dest/pxe.js +378 -213
- package/dest/storage/address_store/address_store.d.ts +1 -1
- package/dest/storage/address_store/address_store.d.ts.map +1 -1
- package/dest/storage/address_store/address_store.js +2 -1
- 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 +9 -7
- 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 +9 -9
- package/dest/storage/capsule_store/capsule_store.d.ts.map +1 -1
- package/dest/storage/capsule_store/capsule_store.js +37 -29
- package/dest/storage/capsule_store/index.d.ts +2 -1
- package/dest/storage/capsule_store/index.d.ts.map +1 -1
- package/dest/storage/capsule_store/index.js +1 -0
- 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 +72 -99
- package/dest/storage/contract_store/private_functions_tree.d.ts +1 -1
- package/dest/storage/contract_store/private_functions_tree.d.ts.map +1 -1
- package/dest/storage/contract_store/private_functions_tree.js +2 -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 +411 -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 +202 -172
- 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 +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 +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 +48 -45
- package/dest/storage/private_event_store/stored_private_event.js +1 -1
- 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/recipient_tagging_store.d.ts +6 -6
- package/dest/storage/tagging_store/recipient_tagging_store.d.ts.map +1 -1
- package/dest/storage/tagging_store/sender_tagging_store.d.ts +63 -31
- package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -1
- package/dest/storage/tagging_store/sender_tagging_store.js +210 -129
- package/dest/storage/tagging_store/tagging_secret_sources_store.d.ts +51 -0
- package/dest/storage/tagging_store/tagging_secret_sources_store.d.ts.map +1 -0
- package/dest/storage/tagging_store/tagging_secret_sources_store.js +105 -0
- package/dest/tagging/constants.d.ts +11 -2
- package/dest/tagging/constants.d.ts.map +1 -1
- package/dest/tagging/constants.js +38 -10
- package/dest/tagging/get_all_logs_by_tags.d.ts +55 -10
- package/dest/tagging/get_all_logs_by_tags.d.ts.map +1 -1
- package/dest/tagging/get_all_logs_by_tags.js +55 -36
- package/dest/tagging/index.d.ts +8 -7
- package/dest/tagging/index.d.ts.map +1 -1
- package/dest/tagging/index.js +6 -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 +235 -0
- package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts +3 -3
- package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts.map +1 -1
- 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 +8 -6
- package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts.map +1 -1
- package/dest/tagging/sender_sync/sync_sender_tagging_indexes.js +25 -19
- package/dest/tagging/sender_sync/utils/classify_pending_txs.d.ts +22 -0
- package/dest/tagging/sender_sync/utils/classify_pending_txs.d.ts.map +1 -0
- package/dest/tagging/sender_sync/utils/classify_pending_txs.js +62 -0
- package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts +17 -6
- 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 +46 -31
- package/dest/tagging/sender_sync/utils/resolve_pending_txs.d.ts +29 -0
- package/dest/tagging/sender_sync/utils/resolve_pending_txs.d.ts.map +1 -0
- package/dest/tagging/sender_sync/utils/resolve_pending_txs.js +42 -0
- package/dest/tagging/sender_sync/utils/test_utils.d.ts +16 -0
- package/dest/tagging/sender_sync/utils/test_utils.d.ts.map +1 -0
- package/dest/tagging/sender_sync/utils/test_utils.js +24 -0
- package/dest/tagging/testing/tag_query_test_utils.d.ts +6 -0
- package/dest/tagging/testing/tag_query_test_utils.d.ts.map +1 -0
- package/dest/tagging/testing/tag_query_test_utils.js +10 -0
- package/package.json +20 -17
- package/src/bin/check_oracle_version.ts +46 -135
- 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 +86 -40
- package/src/config/index.ts +16 -9
- package/src/config/package_info.ts +1 -1
- package/src/contract/contract_class_service.ts +45 -0
- package/src/contract/contract_sync_service.ts +179 -0
- package/src/contract/helpers.ts +35 -0
- package/src/contract/skip_sync_contracts.ts +23 -0
- package/src/contract_function_simulator/anchored_contract_data.ts +74 -0
- package/src/contract_function_simulator/contract_function_simulator.ts +178 -82
- package/src/contract_function_simulator/ephemeral_array_service.ts +110 -0
- package/src/contract_function_simulator/execution_note_cache.ts +10 -30
- package/src/contract_function_simulator/execution_tagging_index_cache.ts +19 -18
- package/src/contract_function_simulator/index.ts +89 -4
- 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 +10 -9
- 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 +27 -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 +6 -11
- 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 +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 +11 -176
- 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 +3 -3
- 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 +6 -7
- package/src/contract_function_simulator/oracle/private_execution_oracle.ts +249 -132
- package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +978 -249
- package/src/contract_function_simulator/pick_notes.ts +22 -3
- package/src/contract_function_simulator/transient_array_service.ts +91 -0
- package/src/contract_logging.ts +18 -5
- package/src/debug/pxe_debug_utils.ts +4 -12
- package/src/entrypoints/client/bundle/index.ts +1 -1
- package/src/entrypoints/client/bundle/utils.ts +26 -8
- package/src/entrypoints/client/lazy/index.ts +1 -1
- package/src/entrypoints/client/lazy/utils.ts +26 -8
- package/src/entrypoints/client/store.ts +54 -0
- package/src/entrypoints/pxe_creation_options.ts +21 -1
- package/src/entrypoints/server/index.ts +7 -3
- package/src/entrypoints/server/store.ts +47 -0
- package/src/entrypoints/server/utils.ts +39 -14
- package/src/error_enriching.ts +30 -13
- package/src/events/event_service.ts +85 -26
- package/src/events/private_event_filter_validator.ts +21 -1
- package/src/hooks/authorize_utility_call.ts +44 -0
- package/src/hooks/execution_hooks.ts +68 -0
- package/src/hooks/index.ts +13 -0
- package/src/hooks/resolve_custom_request.ts +24 -0
- package/src/hooks/resolve_tagging_secret_strategy.ts +60 -0
- package/src/logs/log_service.ts +228 -147
- package/src/messages/tx_resolver_service.ts +81 -0
- package/src/node/benchmarked_node.ts +140 -0
- package/src/node/caching_aztec_node.ts +407 -0
- package/src/notes/note_service.ts +127 -86
- package/src/notes_filter.ts +1 -3
- package/src/oracle_version.ts +20 -10
- package/src/private_kernel/batch_planner.ts +169 -0
- package/src/private_kernel/hints/private_kernel_reset_private_inputs_builder.ts +15 -4
- package/src/private_kernel/hints/test_utils.ts +3 -10
- package/src/private_kernel/private_kernel_execution_prover.ts +246 -117
- package/src/private_kernel/private_kernel_oracle.ts +58 -29
- package/src/pxe.ts +595 -245
- package/src/storage/address_store/address_store.ts +2 -1
- package/src/storage/allowed_scopes.ts +14 -0
- package/src/storage/anchor_block_store/anchor_block_store.ts +9 -7
- 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 +45 -27
- package/src/storage/capsule_store/index.ts +1 -0
- package/src/storage/contract_store/contract_store.ts +98 -125
- package/src/storage/contract_store/private_functions_tree.ts +2 -1
- package/src/storage/fact_store/fact_service.ts +69 -0
- package/src/storage/fact_store/fact_store.ts +488 -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 +233 -194
- package/src/storage/note_store/stored_note.ts +5 -27
- package/src/storage/open_pxe_stores.ts +52 -0
- package/src/storage/private_event_store/private_event_store.ts +55 -56
- package/src/storage/private_event_store/stored_private_event.ts +1 -1
- package/src/storage/store_identity.ts +72 -0
- package/src/storage/tagging_store/index.ts +1 -1
- package/src/storage/tagging_store/recipient_tagging_store.ts +5 -9
- package/src/storage/tagging_store/sender_tagging_store.ts +278 -158
- package/src/storage/tagging_store/tagging_secret_sources_store.ts +138 -0
- package/src/tagging/constants.ts +42 -10
- package/src/tagging/get_all_logs_by_tags.ts +115 -50
- package/src/tagging/index.ts +12 -6
- package/src/tagging/persist_sender_tagging_index_ranges.ts +57 -0
- package/src/tagging/recipient_sync/sync_tagged_private_logs.ts +356 -0
- package/src/tagging/recipient_sync/utils/find_highest_indexes.ts +2 -2
- package/src/tagging/reconcile_tagging_index_ranges.ts +102 -0
- package/src/tagging/sender_sync/sync_sender_tagging_indexes.ts +32 -22
- package/src/tagging/sender_sync/utils/classify_pending_txs.ts +92 -0
- package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +55 -39
- package/src/tagging/sender_sync/utils/resolve_pending_txs.ts +65 -0
- package/src/tagging/sender_sync/utils/test_utils.ts +46 -0
- package/src/tagging/testing/tag_query_test_utils.ts +11 -0
- package/dest/access_scopes.d.ts +0 -9
- package/dest/access_scopes.d.ts.map +0 -1
- package/dest/access_scopes.js +0 -6
- package/dest/contract_function_simulator/benchmarked_node.d.ts +0 -9
- package/dest/contract_function_simulator/benchmarked_node.d.ts.map +0 -1
- package/dest/contract_function_simulator/benchmarked_node.js +0 -77
- package/dest/contract_function_simulator/oracle/oracle.d.ts +0 -60
- package/dest/contract_function_simulator/oracle/oracle.d.ts.map +0 -1
- package/dest/contract_function_simulator/oracle/oracle.js +0 -411
- 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 -80
- package/dest/contract_sync/contract_sync_service.d.ts +0 -43
- package/dest/contract_sync/contract_sync_service.d.ts.map +0 -1
- package/dest/contract_sync/contract_sync_service.js +0 -97
- package/dest/contract_sync/helpers.d.ts +0 -29
- package/dest/contract_sync/helpers.d.ts.map +0 -1
- package/dest/contract_sync/helpers.js +0 -55
- 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/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts +0 -14
- package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts.map +0 -1
- package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.js +0 -99
- package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts +0 -14
- package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts.map +0 -1
- package/dest/tagging/recipient_sync/utils/load_logs_for_range.js +0 -33
- package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts +0 -11
- package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts.map +0 -1
- package/dest/tagging/sender_sync/utils/get_status_change_of_pending.js +0 -29
- package/src/access_scopes.ts +0 -9
- package/src/contract_function_simulator/benchmarked_node.ts +0 -103
- package/src/contract_function_simulator/oracle/oracle.ts +0 -665
- package/src/contract_function_simulator/proxied_contract_data_source.ts +0 -83
- package/src/contract_sync/contract_sync_service.ts +0 -152
- package/src/contract_sync/helpers.ts +0 -98
- package/src/storage/tagging_store/sender_address_book_store.ts +0 -48
- package/src/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.ts +0 -140
- package/src/tagging/recipient_sync/utils/load_logs_for_range.ts +0 -44
- package/src/tagging/sender_sync/utils/get_status_change_of_pending.ts +0 -36
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import type { FUNCTION_TREE_HEIGHT } from '@aztec/constants';
|
|
2
2
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
3
|
import { toArray } from '@aztec/foundation/iterable';
|
|
4
|
+
import { allToCompletion } from '@aztec/foundation/promise';
|
|
4
5
|
import { BufferReader, numToUInt8, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
5
6
|
import type { MembershipWitness } from '@aztec/foundation/trees';
|
|
6
7
|
import type { AztecAsyncKVStore, AztecAsyncMap } from '@aztec/kv-store';
|
|
7
8
|
import {
|
|
8
9
|
type ContractArtifact,
|
|
9
|
-
type FunctionAbi,
|
|
10
|
-
type FunctionArtifact,
|
|
11
10
|
type FunctionArtifactWithContractName,
|
|
12
11
|
FunctionCall,
|
|
13
12
|
type FunctionDebugMetadata,
|
|
@@ -16,14 +15,16 @@ import {
|
|
|
16
15
|
contractArtifactFromBuffer,
|
|
17
16
|
contractArtifactToBuffer,
|
|
18
17
|
encodeArguments,
|
|
18
|
+
findFunctionAbiBySelector,
|
|
19
|
+
findFunctionArtifactBySelector,
|
|
19
20
|
getFunctionDebugMetadata,
|
|
20
21
|
} from '@aztec/stdlib/abi';
|
|
21
22
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
22
23
|
import {
|
|
23
24
|
type ContractClassIdPreimage,
|
|
24
25
|
type ContractClassWithId,
|
|
25
|
-
type
|
|
26
|
-
|
|
26
|
+
type ContractInstancePreimageWithAddress,
|
|
27
|
+
SerializableContractInstancePreimage,
|
|
27
28
|
getContractClassFromArtifact,
|
|
28
29
|
} from '@aztec/stdlib/contract';
|
|
29
30
|
|
|
@@ -111,9 +112,6 @@ export class ContractStore {
|
|
|
111
112
|
// TODO: Update it to be LRU cache so that it doesn't keep all the data all the time.
|
|
112
113
|
#contractArtifactCache: Map<string, ContractArtifact> = new Map();
|
|
113
114
|
|
|
114
|
-
/** Map from contract address to contract class id (avoids KV round-trip on hot path). */
|
|
115
|
-
#contractClassIdMap: Map<string, Fr> = new Map();
|
|
116
|
-
|
|
117
115
|
#store: AztecAsyncKVStore;
|
|
118
116
|
#contractArtifacts: AztecAsyncMap<string, Buffer>;
|
|
119
117
|
#contractClassData: AztecAsyncMap<string, Buffer>;
|
|
@@ -130,9 +128,10 @@ export class ContractStore {
|
|
|
130
128
|
|
|
131
129
|
/**
|
|
132
130
|
* Registers a new contract artifact and its corresponding class data.
|
|
133
|
-
*
|
|
134
|
-
*
|
|
135
|
-
*
|
|
131
|
+
*
|
|
132
|
+
* IMPORTANT: This method does not verify that the provided artifact matches the class data or that the class id
|
|
133
|
+
* matches the artifact. It is the caller's responsibility to ensure the consistency and correctness of the provided
|
|
134
|
+
* data. This is done to avoid redundant, expensive contract class computations.
|
|
136
135
|
*/
|
|
137
136
|
public async addContractArtifact(
|
|
138
137
|
contract: ContractArtifact,
|
|
@@ -148,7 +147,7 @@ export class ContractStore {
|
|
|
148
147
|
const privateFunctions = contract.functions.filter(
|
|
149
148
|
functionArtifact => functionArtifact.functionType === FunctionType.PRIVATE,
|
|
150
149
|
);
|
|
151
|
-
const privateSelectors = await
|
|
150
|
+
const privateSelectors = await allToCompletion(
|
|
152
151
|
privateFunctions.map(async fn =>
|
|
153
152
|
(await FunctionSelector.fromNameAndParameters(fn.name, fn.parameters)).toString(),
|
|
154
153
|
),
|
|
@@ -167,29 +166,17 @@ export class ContractStore {
|
|
|
167
166
|
return contractClass.id;
|
|
168
167
|
}
|
|
169
168
|
|
|
170
|
-
async addContractInstance(contract:
|
|
171
|
-
this.#
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
);
|
|
169
|
+
async addContractInstance(contract: ContractInstancePreimageWithAddress): Promise<void> {
|
|
170
|
+
await this.#store.transactionAsync(async () => {
|
|
171
|
+
await this.#contractInstances.set(
|
|
172
|
+
contract.address.toString(),
|
|
173
|
+
new SerializableContractInstancePreimage(contract).toBuffer(),
|
|
174
|
+
);
|
|
175
|
+
});
|
|
177
176
|
}
|
|
178
177
|
|
|
179
178
|
// Private getters
|
|
180
179
|
|
|
181
|
-
async #getContractClassId(contractAddress: AztecAddress): Promise<Fr | undefined> {
|
|
182
|
-
const key = contractAddress.toString();
|
|
183
|
-
if (!this.#contractClassIdMap.has(key)) {
|
|
184
|
-
const instance = await this.getContractInstance(contractAddress);
|
|
185
|
-
if (!instance) {
|
|
186
|
-
return;
|
|
187
|
-
}
|
|
188
|
-
this.#contractClassIdMap.set(key, instance.currentContractClassId);
|
|
189
|
-
}
|
|
190
|
-
return this.#contractClassIdMap.get(key);
|
|
191
|
-
}
|
|
192
|
-
|
|
193
180
|
async #getPrivateFunctionTreeForClassId(classId: Fr): Promise<PrivateFunctionsTree | undefined> {
|
|
194
181
|
if (!this.#privateFunctionTrees.has(classId.toString())) {
|
|
195
182
|
const artifact = await this.getContractArtifact(classId);
|
|
@@ -202,25 +189,20 @@ export class ContractStore {
|
|
|
202
189
|
return this.#privateFunctionTrees.get(classId.toString())!;
|
|
203
190
|
}
|
|
204
191
|
|
|
205
|
-
async #getArtifactByAddress(contractAddress: AztecAddress): Promise<ContractArtifact | undefined> {
|
|
206
|
-
const classId = await this.#getContractClassId(contractAddress);
|
|
207
|
-
return classId && this.getContractArtifact(classId);
|
|
208
|
-
}
|
|
209
|
-
|
|
210
192
|
// Public getters
|
|
211
193
|
|
|
212
194
|
getContractsAddresses(): Promise<AztecAddress[]> {
|
|
213
195
|
return this.#store.transactionAsync(async () => {
|
|
214
196
|
const keys = await toArray(this.#contractInstances.keysAsync());
|
|
215
|
-
return keys.map(AztecAddress.
|
|
197
|
+
return keys.map(AztecAddress.fromStringUnsafe);
|
|
216
198
|
});
|
|
217
199
|
}
|
|
218
200
|
|
|
219
|
-
/** Returns
|
|
220
|
-
public getContractInstance(contractAddress: AztecAddress): Promise<
|
|
201
|
+
/** Returns the address preimage of a given address. */
|
|
202
|
+
public getContractInstance(contractAddress: AztecAddress): Promise<ContractInstancePreimageWithAddress | undefined> {
|
|
221
203
|
return this.#store.transactionAsync(async () => {
|
|
222
204
|
const contract = await this.#contractInstances.getAsync(contractAddress.toString());
|
|
223
|
-
return contract &&
|
|
205
|
+
return contract && SerializableContractInstancePreimage.fromBuffer(contract).withAddress(contractAddress);
|
|
224
206
|
});
|
|
225
207
|
}
|
|
226
208
|
|
|
@@ -246,7 +228,7 @@ export class ContractStore {
|
|
|
246
228
|
contractClassId: Fr,
|
|
247
229
|
): Promise<(ContractClassWithId & ContractClassIdPreimage) | undefined> {
|
|
248
230
|
const key = contractClassId.toString();
|
|
249
|
-
const buf = await this.#contractClassData.getAsync(key);
|
|
231
|
+
const buf = await this.#store.transactionAsync(() => this.#contractClassData.getAsync(key));
|
|
250
232
|
if (!buf) {
|
|
251
233
|
return undefined;
|
|
252
234
|
}
|
|
@@ -259,93 +241,78 @@ export class ContractStore {
|
|
|
259
241
|
return { ...classData, packedBytecode };
|
|
260
242
|
}
|
|
261
243
|
|
|
262
|
-
public async getContract(
|
|
263
|
-
address: AztecAddress,
|
|
264
|
-
): Promise<(ContractInstanceWithAddress & ContractArtifact) | undefined> {
|
|
265
|
-
const instance = await this.getContractInstance(address);
|
|
266
|
-
if (!instance) {
|
|
267
|
-
return;
|
|
268
|
-
}
|
|
269
|
-
const artifact = await this.getContractArtifact(instance.currentContractClassId);
|
|
270
|
-
if (!artifact) {
|
|
271
|
-
return;
|
|
272
|
-
}
|
|
273
|
-
return { ...instance, ...artifact };
|
|
274
|
-
}
|
|
275
|
-
|
|
276
244
|
/**
|
|
277
|
-
* Retrieves the artifact of a specified function within a given contract.
|
|
245
|
+
* Retrieves the artifact of a specified function within a given contract class.
|
|
278
246
|
*
|
|
279
|
-
* @param
|
|
247
|
+
* @param contractClassId - The id of the contract class containing the function.
|
|
280
248
|
* @param selector - The function selector.
|
|
281
|
-
* @returns The corresponding function's artifact as an object.
|
|
249
|
+
* @returns The corresponding function's artifact as an object, or `undefined` if the class is not registered.
|
|
282
250
|
*/
|
|
283
251
|
public async getFunctionArtifact(
|
|
284
|
-
|
|
252
|
+
contractClassId: Fr,
|
|
285
253
|
selector: FunctionSelector,
|
|
286
254
|
): Promise<FunctionArtifactWithContractName | undefined> {
|
|
287
|
-
const artifact = await this
|
|
255
|
+
const artifact = await this.getContractArtifact(contractClassId);
|
|
288
256
|
if (!artifact) {
|
|
289
257
|
return undefined;
|
|
290
258
|
}
|
|
291
|
-
const fn = await
|
|
292
|
-
|
|
259
|
+
const fn = assertSelectorInArtifact(artifact, await findFunctionArtifactBySelector(artifact, selector), {
|
|
260
|
+
contractClassId,
|
|
261
|
+
selector,
|
|
262
|
+
});
|
|
263
|
+
return { ...fn, contractName: artifact.name };
|
|
293
264
|
}
|
|
294
265
|
|
|
266
|
+
/**
|
|
267
|
+
* Same as {@link getFunctionArtifact} but with debug metadata attached. Returns `undefined` when the class artifact
|
|
268
|
+
* is not registered.
|
|
269
|
+
*/
|
|
295
270
|
public async getFunctionArtifactWithDebugMetadata(
|
|
296
|
-
|
|
271
|
+
contractClassId: Fr,
|
|
297
272
|
selector: FunctionSelector,
|
|
298
|
-
): Promise<FunctionArtifactWithContractName> {
|
|
299
|
-
const artifact = await this.
|
|
273
|
+
): Promise<FunctionArtifactWithContractName | undefined> {
|
|
274
|
+
const artifact = await this.getContractArtifact(contractClassId);
|
|
300
275
|
if (!artifact) {
|
|
301
|
-
|
|
276
|
+
return undefined;
|
|
302
277
|
}
|
|
303
|
-
const
|
|
278
|
+
const fn = assertSelectorInArtifact(artifact, await findFunctionArtifactBySelector(artifact, selector), {
|
|
279
|
+
contractClassId,
|
|
280
|
+
selector,
|
|
281
|
+
});
|
|
304
282
|
return {
|
|
305
|
-
...
|
|
306
|
-
|
|
283
|
+
...fn,
|
|
284
|
+
contractName: artifact.name,
|
|
285
|
+
debug: getFunctionDebugMetadata(artifact, fn),
|
|
307
286
|
};
|
|
308
287
|
}
|
|
309
288
|
|
|
310
|
-
public async getPublicFunctionArtifact(
|
|
311
|
-
|
|
312
|
-
): Promise<FunctionArtifactWithContractName | undefined> {
|
|
313
|
-
const artifact = await this.#getArtifactByAddress(contractAddress);
|
|
289
|
+
public async getPublicFunctionArtifact(contractClassId: Fr): Promise<FunctionArtifactWithContractName | undefined> {
|
|
290
|
+
const artifact = await this.getContractArtifact(contractClassId);
|
|
314
291
|
const fn = artifact && artifact.functions.find(f => f.functionType === FunctionType.PUBLIC);
|
|
315
292
|
return fn && { ...fn, contractName: artifact.name };
|
|
316
293
|
}
|
|
317
294
|
|
|
318
|
-
public async getFunctionAbi(
|
|
319
|
-
contractAddress: AztecAddress,
|
|
320
|
-
selector: FunctionSelector,
|
|
321
|
-
): Promise<FunctionAbi | undefined> {
|
|
322
|
-
const artifact = await this.#getArtifactByAddress(contractAddress);
|
|
323
|
-
return artifact && (await this.#findFunctionAbiBySelector(artifact, selector));
|
|
324
|
-
}
|
|
325
|
-
|
|
326
295
|
/**
|
|
327
|
-
* Retrieves the debug metadata of a specified function within a given contract.
|
|
296
|
+
* Retrieves the debug metadata of a specified function within a given contract class.
|
|
328
297
|
*
|
|
329
|
-
* @param
|
|
298
|
+
* @param contractClassId - The id of the contract class containing the function.
|
|
330
299
|
* @param selector - The function selector.
|
|
331
300
|
* @returns The corresponding function's debug metadata, or undefined.
|
|
332
301
|
*/
|
|
333
302
|
public async getFunctionDebugMetadata(
|
|
334
|
-
|
|
303
|
+
contractClassId: Fr,
|
|
335
304
|
selector: FunctionSelector,
|
|
336
305
|
): Promise<FunctionDebugMetadata | undefined> {
|
|
337
|
-
const artifact = await this
|
|
306
|
+
const artifact = await this.getContractArtifact(contractClassId);
|
|
338
307
|
if (!artifact) {
|
|
339
308
|
return undefined;
|
|
340
309
|
}
|
|
341
|
-
const fn = await
|
|
310
|
+
const fn = await findFunctionArtifactBySelector(artifact, selector);
|
|
342
311
|
return fn && getFunctionDebugMetadata(artifact, fn);
|
|
343
312
|
}
|
|
344
313
|
|
|
345
|
-
public async getPublicFunctionDebugMetadata(
|
|
346
|
-
|
|
347
|
-
): Promise<FunctionDebugMetadata | undefined> {
|
|
348
|
-
const artifact = await this.#getArtifactByAddress(contractAddress);
|
|
314
|
+
public async getPublicFunctionDebugMetadata(contractClassId: Fr): Promise<FunctionDebugMetadata | undefined> {
|
|
315
|
+
const artifact = await this.getContractArtifact(contractClassId);
|
|
349
316
|
const fn = artifact && artifact.functions.find(f => f.functionType === FunctionType.PUBLIC);
|
|
350
317
|
return fn && getFunctionDebugMetadata(artifact, fn);
|
|
351
318
|
}
|
|
@@ -365,52 +332,34 @@ export class ContractStore {
|
|
|
365
332
|
return tree?.getFunctionMembershipWitness(selector);
|
|
366
333
|
}
|
|
367
334
|
|
|
368
|
-
public async getDebugContractName(
|
|
369
|
-
const artifact = await this
|
|
335
|
+
public async getDebugContractName(contractClassId: Fr) {
|
|
336
|
+
const artifact = await this.getContractArtifact(contractClassId);
|
|
370
337
|
return artifact?.name;
|
|
371
338
|
}
|
|
372
339
|
|
|
373
|
-
public async getDebugFunctionName(
|
|
374
|
-
const artifact = await this
|
|
375
|
-
const fn = artifact && (await
|
|
376
|
-
return `${artifact?.name ??
|
|
377
|
-
}
|
|
378
|
-
|
|
379
|
-
async #findFunctionArtifactBySelector(
|
|
380
|
-
artifact: ContractArtifact,
|
|
381
|
-
selector: FunctionSelector,
|
|
382
|
-
): Promise<FunctionArtifact | undefined> {
|
|
383
|
-
for (const fn of artifact.functions) {
|
|
384
|
-
const fnSelector = await FunctionSelector.fromNameAndParameters(fn.name, fn.parameters);
|
|
385
|
-
if (fnSelector.equals(selector)) {
|
|
386
|
-
return fn;
|
|
387
|
-
}
|
|
388
|
-
}
|
|
389
|
-
}
|
|
390
|
-
|
|
391
|
-
async #findFunctionAbiBySelector(
|
|
392
|
-
artifact: ContractArtifact,
|
|
393
|
-
selector: FunctionSelector,
|
|
394
|
-
): Promise<FunctionAbi | undefined> {
|
|
395
|
-
for (const fn of [...artifact.functions, ...(artifact.nonDispatchPublicFunctions ?? [])]) {
|
|
396
|
-
const fnSelector = await FunctionSelector.fromNameAndParameters(fn.name, fn.parameters);
|
|
397
|
-
if (fnSelector.equals(selector)) {
|
|
398
|
-
return fn;
|
|
399
|
-
}
|
|
400
|
-
}
|
|
340
|
+
public async getDebugFunctionName(contractClassId: Fr, selector: FunctionSelector) {
|
|
341
|
+
const artifact = await this.getContractArtifact(contractClassId);
|
|
342
|
+
const fn = artifact && (await findFunctionAbiBySelector(artifact, selector));
|
|
343
|
+
return `${artifact?.name ?? contractClassId}:${fn?.name ?? selector}`;
|
|
401
344
|
}
|
|
402
345
|
|
|
403
|
-
public async getFunctionCall(
|
|
404
|
-
|
|
405
|
-
|
|
346
|
+
public async getFunctionCall(
|
|
347
|
+
functionName: string,
|
|
348
|
+
args: any[],
|
|
349
|
+
to: AztecAddress,
|
|
350
|
+
contractClassId: Fr,
|
|
351
|
+
): Promise<FunctionCall> {
|
|
352
|
+
const artifact = await this.getContractArtifact(contractClassId);
|
|
353
|
+
if (!artifact) {
|
|
406
354
|
throw new Error(
|
|
407
|
-
`
|
|
355
|
+
`No artifact registered for contract class ${contractClassId} (contract ${to}): register it by calling ` +
|
|
356
|
+
`wallet.registerContract(...).\nSee docs for context: https://docs.aztec.network/errors/14`,
|
|
408
357
|
);
|
|
409
358
|
}
|
|
410
359
|
|
|
411
|
-
const functionDao =
|
|
360
|
+
const functionDao = artifact.functions.find(f => f.name === functionName);
|
|
412
361
|
if (!functionDao) {
|
|
413
|
-
throw new Error(`Unknown function ${functionName} in contract ${
|
|
362
|
+
throw new Error(`Unknown function ${functionName} in contract ${artifact.name}.`);
|
|
414
363
|
}
|
|
415
364
|
|
|
416
365
|
const selector = await FunctionSelector.fromNameAndParameters(functionDao.name, functionDao.parameters);
|
|
@@ -427,3 +376,27 @@ export class ContractStore {
|
|
|
427
376
|
});
|
|
428
377
|
}
|
|
429
378
|
}
|
|
379
|
+
|
|
380
|
+
/**
|
|
381
|
+
* Narrows the result of a selector lookup against a registered artifact. A missing class artifact is reported as
|
|
382
|
+
* `undefined` by the callers (an absence they can handle), but a selector that is absent from an artifact we *do* have
|
|
383
|
+
* is exceptional and throws rather than returning undefined. We cannot tell from here why the selector is missing: it
|
|
384
|
+
* may be that no such function exists in the contract (a wrong selector), or that the registered artifact does not
|
|
385
|
+
* correspond to the resolved class id (registration performs no validation, so a mismatched artifact is possible). The
|
|
386
|
+
* error names both possibilities.
|
|
387
|
+
*/
|
|
388
|
+
function assertSelectorInArtifact<T>(
|
|
389
|
+
artifact: ContractArtifact,
|
|
390
|
+
fn: T | undefined,
|
|
391
|
+
context: { contractClassId: Fr; selector: FunctionSelector },
|
|
392
|
+
): T {
|
|
393
|
+
if (!fn) {
|
|
394
|
+
throw new Error(
|
|
395
|
+
`Function with selector ${context.selector} not found in the registered artifact for contract class ` +
|
|
396
|
+
`${context.contractClassId} (${artifact.name}). Either no function with this selector exists in the ` +
|
|
397
|
+
`contract, or the registered artifact does not match the class id (re-register it via ` +
|
|
398
|
+
`wallet.registerContract(...)).`,
|
|
399
|
+
);
|
|
400
|
+
}
|
|
401
|
+
return fn;
|
|
402
|
+
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { FUNCTION_TREE_HEIGHT } from '@aztec/constants';
|
|
2
2
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
|
+
import { allToCompletion } from '@aztec/foundation/promise';
|
|
3
4
|
import { assertLength } from '@aztec/foundation/serialize';
|
|
4
5
|
import { MembershipWitness, type MerkleTree } from '@aztec/foundation/trees';
|
|
5
6
|
import { type ContractArtifact, FunctionSelector, FunctionType } from '@aztec/stdlib/abi';
|
|
@@ -22,7 +23,7 @@ export class PrivateFunctionsTree {
|
|
|
22
23
|
private constructor(private readonly privateFunctions: PrivateFunction[]) {}
|
|
23
24
|
|
|
24
25
|
static async create(artifact: ContractArtifact) {
|
|
25
|
-
const privateFunctions = await
|
|
26
|
+
const privateFunctions = await allToCompletion(
|
|
26
27
|
artifact.functions
|
|
27
28
|
.filter(fn => fn.functionType === FunctionType.PRIVATE)
|
|
28
29
|
.map(getContractClassPrivateFunctionFromArtifact),
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
|
+
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
3
|
+
|
|
4
|
+
import { assertAllowedScope } from '../allowed_scopes.js';
|
|
5
|
+
import type { FactStore } from './fact_store.js';
|
|
6
|
+
import type { FactCollectionKey, FactCollectionTypeKey, OriginBlock } from './fact_store_keys.js';
|
|
7
|
+
import {
|
|
8
|
+
type FactCollectionWithOriginState,
|
|
9
|
+
type FactWithOriginState,
|
|
10
|
+
type TipBlockNumbers,
|
|
11
|
+
toFactWithOriginState,
|
|
12
|
+
} from './origin_state.js';
|
|
13
|
+
import type { Fact } from './stored_fact.js';
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Wraps a {@link FactStore} with scope-based access control.
|
|
17
|
+
*
|
|
18
|
+
* Each method asserts scope validity before delegating to FactStore, gating which accounts a contract may record facts
|
|
19
|
+
* under or read facts from.
|
|
20
|
+
*/
|
|
21
|
+
export class FactService {
|
|
22
|
+
constructor(
|
|
23
|
+
private readonly factStore: FactStore,
|
|
24
|
+
private readonly allowedScopes: AztecAddress[],
|
|
25
|
+
) {}
|
|
26
|
+
|
|
27
|
+
recordFact(
|
|
28
|
+
factCollectionKey: FactCollectionKey,
|
|
29
|
+
factTypeId: Fr,
|
|
30
|
+
payload: Fr[],
|
|
31
|
+
originBlock: OriginBlock | undefined,
|
|
32
|
+
jobId: string,
|
|
33
|
+
): Promise<void> {
|
|
34
|
+
assertAllowedScope(factCollectionKey.scope, this.allowedScopes);
|
|
35
|
+
return this.factStore.recordFact(factCollectionKey, factTypeId, payload, originBlock, jobId);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
deleteFactCollection(factCollectionKey: FactCollectionKey, jobId: string): Promise<void> {
|
|
39
|
+
assertAllowedScope(factCollectionKey.scope, this.allowedScopes);
|
|
40
|
+
return this.factStore.deleteFactCollection(factCollectionKey, jobId);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
async getFactCollection(
|
|
44
|
+
factCollectionKey: FactCollectionKey,
|
|
45
|
+
tips: TipBlockNumbers,
|
|
46
|
+
jobId: string,
|
|
47
|
+
): Promise<FactCollectionWithOriginState | undefined> {
|
|
48
|
+
assertAllowedScope(factCollectionKey.scope, this.allowedScopes);
|
|
49
|
+
const collection = await this.factStore.getFactCollection(factCollectionKey, jobId);
|
|
50
|
+
if (!collection) {
|
|
51
|
+
return undefined;
|
|
52
|
+
}
|
|
53
|
+
return { key: collection.key, facts: this.#annotate(collection.facts, tips) };
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
async getFactCollectionsByType(
|
|
57
|
+
factCollectionTypeKey: FactCollectionTypeKey,
|
|
58
|
+
tips: TipBlockNumbers,
|
|
59
|
+
jobId: string,
|
|
60
|
+
): Promise<FactCollectionWithOriginState[]> {
|
|
61
|
+
assertAllowedScope(factCollectionTypeKey.scope, this.allowedScopes);
|
|
62
|
+
const collections = await this.factStore.getFactCollectionsByType(factCollectionTypeKey, jobId);
|
|
63
|
+
return collections.map(collection => ({ key: collection.key, facts: this.#annotate(collection.facts, tips) }));
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
#annotate(facts: Fact[], tips: TipBlockNumbers): FactWithOriginState[] {
|
|
67
|
+
return facts.map(fact => toFactWithOriginState(fact, tips));
|
|
68
|
+
}
|
|
69
|
+
}
|