@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
|
@@ -3,6 +3,7 @@ import { ARCHIVE_HEIGHT, NOTE_HASH_TREE_HEIGHT } from '@aztec/constants';
|
|
|
3
3
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
4
4
|
import { FieldReader } from '@aztec/foundation/serialize';
|
|
5
5
|
import { toACVMField } from '@aztec/simulator/client';
|
|
6
|
+
import type { UnsiloedMessageNullifier } from '@aztec/stdlib/messaging';
|
|
6
7
|
|
|
7
8
|
import {
|
|
8
9
|
ARRAY,
|
|
@@ -12,22 +13,21 @@ import {
|
|
|
12
13
|
BLOCK_NUMBER,
|
|
13
14
|
BOOL,
|
|
14
15
|
BOUNDED_VEC,
|
|
15
|
-
BUFFER,
|
|
16
|
-
BYTE,
|
|
17
16
|
CALL_PRIVATE_RESULT,
|
|
18
|
-
|
|
17
|
+
CONTRACT_CLASS_LOG,
|
|
19
18
|
CONTRACT_INSTANCE,
|
|
20
19
|
DELIVERY_MODE,
|
|
21
20
|
EPHEMERAL_ARRAY,
|
|
22
21
|
EVENT_VALIDATION_REQUEST,
|
|
22
|
+
FACT_COLLECTION,
|
|
23
23
|
FIELD,
|
|
24
|
+
FIXED_ARRAY,
|
|
24
25
|
FUNCTION_SELECTOR,
|
|
25
26
|
type InputSlot,
|
|
26
27
|
KEY_VALIDATION_REQUEST,
|
|
27
28
|
LOG_RETRIEVAL_REQUEST,
|
|
28
29
|
LOG_RETRIEVAL_RESPONSE,
|
|
29
30
|
MEMBERSHIP_WITNESS,
|
|
30
|
-
MESSAGE_CONTEXT,
|
|
31
31
|
MESSAGE_LOAD_ORACLE_INPUTS,
|
|
32
32
|
type MaybePromise,
|
|
33
33
|
NOTE,
|
|
@@ -35,19 +35,25 @@ import {
|
|
|
35
35
|
NOTE_VALIDATION_REQUEST,
|
|
36
36
|
NULLIFIER_MEMBERSHIP_WITNESS,
|
|
37
37
|
OPTION,
|
|
38
|
+
ORIGIN_BLOCK,
|
|
38
39
|
type OutputSlot,
|
|
39
40
|
PENDING_TAGGED_LOG,
|
|
40
41
|
POINT,
|
|
41
42
|
PROVIDED_SECRET,
|
|
42
43
|
PUBLIC_DATA_WITNESS,
|
|
43
44
|
PUBLIC_KEYS_AND_PARTIAL_ADDRESS,
|
|
45
|
+
RESOLVED_TAGGING_STRATEGY,
|
|
46
|
+
RESOLVED_TX,
|
|
44
47
|
STR,
|
|
48
|
+
STRUCT,
|
|
45
49
|
TX_EFFECT,
|
|
46
50
|
TX_HASH,
|
|
47
51
|
type TypeMapping,
|
|
52
|
+
U8,
|
|
48
53
|
U32,
|
|
49
54
|
UTILITY_CONTEXT,
|
|
50
55
|
assertReadersConsumed,
|
|
56
|
+
slotsOf,
|
|
51
57
|
} from './oracle_type_mappings.js';
|
|
52
58
|
|
|
53
59
|
export {
|
|
@@ -57,9 +63,10 @@ export {
|
|
|
57
63
|
BLOCK_NUMBER,
|
|
58
64
|
BOOL,
|
|
59
65
|
BOUNDED_VEC,
|
|
60
|
-
|
|
61
|
-
|
|
66
|
+
U8,
|
|
67
|
+
CONTRACT_CLASS_LOG,
|
|
62
68
|
DELIVERY_MODE,
|
|
69
|
+
RESOLVED_TAGGING_STRATEGY,
|
|
63
70
|
EPHEMERAL_ARRAY,
|
|
64
71
|
EVENT_VALIDATION_REQUEST,
|
|
65
72
|
FIELD,
|
|
@@ -67,17 +74,19 @@ export {
|
|
|
67
74
|
LOG_RETRIEVAL_REQUEST,
|
|
68
75
|
LOG_RETRIEVAL_RESPONSE,
|
|
69
76
|
MEMBERSHIP_WITNESS,
|
|
70
|
-
MESSAGE_CONTEXT,
|
|
71
77
|
NOTE_VALIDATION_REQUEST,
|
|
72
78
|
OPTION,
|
|
73
79
|
PENDING_TAGGED_LOG,
|
|
74
80
|
POINT,
|
|
75
81
|
PROVIDED_SECRET,
|
|
82
|
+
RESOLVED_TX,
|
|
76
83
|
STR,
|
|
77
84
|
U32,
|
|
85
|
+
slotsOf,
|
|
78
86
|
type InputSlot,
|
|
79
87
|
type MaybePromise,
|
|
80
88
|
type OutputSlot,
|
|
89
|
+
type SlotShape,
|
|
81
90
|
type TypeMapping,
|
|
82
91
|
} from './oracle_type_mappings.js';
|
|
83
92
|
|
|
@@ -103,7 +112,10 @@ export const ORACLE_REGISTRY = {
|
|
|
103
112
|
aztec_utl_getUtilityContext: makeEntry({ returnType: UTILITY_CONTEXT }),
|
|
104
113
|
|
|
105
114
|
aztec_utl_getKeyValidationRequest: makeEntry({
|
|
106
|
-
params: [
|
|
115
|
+
params: [
|
|
116
|
+
{ name: 'pkMHash', type: FIELD },
|
|
117
|
+
{ name: 'keyIndex', type: FIELD },
|
|
118
|
+
],
|
|
107
119
|
returnType: KEY_VALIDATION_REQUEST,
|
|
108
120
|
}),
|
|
109
121
|
|
|
@@ -128,6 +140,14 @@ export const ORACLE_REGISTRY = {
|
|
|
128
140
|
returnType: OPTION(MEMBERSHIP_WITNESS(ARCHIVE_HEIGHT)),
|
|
129
141
|
}),
|
|
130
142
|
|
|
143
|
+
aztec_utl_areBlockHashesInArchive: makeEntry({
|
|
144
|
+
params: [
|
|
145
|
+
{ name: 'anchorBlockHash', type: BLOCK_HASH },
|
|
146
|
+
{ name: 'blockHashes', type: EPHEMERAL_ARRAY(BLOCK_HASH) },
|
|
147
|
+
],
|
|
148
|
+
returnType: EPHEMERAL_ARRAY(BOOL),
|
|
149
|
+
}),
|
|
150
|
+
|
|
131
151
|
aztec_utl_getNullifierMembershipWitness: makeEntry({
|
|
132
152
|
params: [
|
|
133
153
|
{ name: 'blockHash', type: BLOCK_HASH },
|
|
@@ -172,11 +192,18 @@ export const ORACLE_REGISTRY = {
|
|
|
172
192
|
returnType: BOOL,
|
|
173
193
|
}),
|
|
174
194
|
|
|
175
|
-
|
|
195
|
+
aztec_utl_getL1ToL2MembershipWitnessV2: makeEntry({
|
|
176
196
|
params: [
|
|
177
|
-
{ name: 'contractAddress', type: AZTEC_ADDRESS },
|
|
178
197
|
{ name: 'messageHash', type: FIELD },
|
|
179
|
-
{
|
|
198
|
+
{
|
|
199
|
+
name: 'nullifier',
|
|
200
|
+
type: OPTION(
|
|
201
|
+
STRUCT<UnsiloedMessageNullifier>([
|
|
202
|
+
{ name: 'contractAddress', type: AZTEC_ADDRESS },
|
|
203
|
+
{ name: 'nullifier', type: FIELD },
|
|
204
|
+
]),
|
|
205
|
+
),
|
|
206
|
+
},
|
|
180
207
|
],
|
|
181
208
|
returnType: MESSAGE_LOAD_ORACLE_INPUTS,
|
|
182
209
|
}),
|
|
@@ -214,7 +241,7 @@ export const ORACLE_REGISTRY = {
|
|
|
214
241
|
returnType: BOUNDED_VEC(NOTE),
|
|
215
242
|
}),
|
|
216
243
|
|
|
217
|
-
|
|
244
|
+
aztec_utl_getPendingTaggedLogsV2: makeEntry({
|
|
218
245
|
params: [
|
|
219
246
|
{ name: 'scope', type: AZTEC_ADDRESS },
|
|
220
247
|
{ name: 'providedSecrets', type: EPHEMERAL_ARRAY(PROVIDED_SECRET) },
|
|
@@ -230,14 +257,14 @@ export const ORACLE_REGISTRY = {
|
|
|
230
257
|
],
|
|
231
258
|
}),
|
|
232
259
|
|
|
233
|
-
|
|
260
|
+
aztec_utl_getLogsByTagV2: makeEntry({
|
|
234
261
|
params: [{ name: 'requests', type: EPHEMERAL_ARRAY(LOG_RETRIEVAL_REQUEST) }],
|
|
235
262
|
returnType: EPHEMERAL_ARRAY(EPHEMERAL_ARRAY(LOG_RETRIEVAL_RESPONSE)),
|
|
236
263
|
}),
|
|
237
264
|
|
|
238
|
-
|
|
265
|
+
aztec_utl_getResolvedTxs: makeEntry({
|
|
239
266
|
params: [{ name: 'requests', type: EPHEMERAL_ARRAY(FIELD) }],
|
|
240
|
-
returnType: EPHEMERAL_ARRAY(OPTION(
|
|
267
|
+
returnType: EPHEMERAL_ARRAY(OPTION(RESOLVED_TX)),
|
|
241
268
|
}),
|
|
242
269
|
|
|
243
270
|
aztec_utl_getTxEffect: makeEntry({
|
|
@@ -245,6 +272,11 @@ export const ORACLE_REGISTRY = {
|
|
|
245
272
|
returnType: OPTION(TX_EFFECT),
|
|
246
273
|
}),
|
|
247
274
|
|
|
275
|
+
aztec_utl_getTxEffects: makeEntry({
|
|
276
|
+
params: [{ name: 'txHashes', type: EPHEMERAL_ARRAY(TX_HASH) }],
|
|
277
|
+
returnType: EPHEMERAL_ARRAY(OPTION(TX_EFFECT)),
|
|
278
|
+
}),
|
|
279
|
+
|
|
248
280
|
aztec_utl_setCapsule: makeEntry({
|
|
249
281
|
params: [
|
|
250
282
|
{ name: 'contractAddress', type: AZTEC_ADDRESS },
|
|
@@ -284,11 +316,11 @@ export const ORACLE_REGISTRY = {
|
|
|
284
316
|
|
|
285
317
|
aztec_utl_decryptAes128: makeEntry({
|
|
286
318
|
params: [
|
|
287
|
-
{ name: 'ciphertext', type: BOUNDED_VEC(
|
|
288
|
-
{ name: 'iv', type:
|
|
289
|
-
{ name: 'symKey', type:
|
|
319
|
+
{ name: 'ciphertext', type: BOUNDED_VEC(U8) },
|
|
320
|
+
{ name: 'iv', type: FIXED_ARRAY(U8, 16) },
|
|
321
|
+
{ name: 'symKey', type: FIXED_ARRAY(U8, 16) },
|
|
290
322
|
],
|
|
291
|
-
returnType: OPTION(BOUNDED_VEC(
|
|
323
|
+
returnType: OPTION(BOUNDED_VEC(U8)),
|
|
292
324
|
}),
|
|
293
325
|
|
|
294
326
|
aztec_utl_getSharedSecrets: makeEntry({
|
|
@@ -311,6 +343,46 @@ export const ORACLE_REGISTRY = {
|
|
|
311
343
|
params: [{ name: 'data', type: ARRAY(FIELD) }],
|
|
312
344
|
}),
|
|
313
345
|
|
|
346
|
+
aztec_utl_recordFact: makeEntry({
|
|
347
|
+
params: [
|
|
348
|
+
{ name: 'contractAddress', type: AZTEC_ADDRESS },
|
|
349
|
+
{ name: 'scope', type: AZTEC_ADDRESS },
|
|
350
|
+
{ name: 'factCollectionTypeId', type: FIELD },
|
|
351
|
+
{ name: 'factCollectionId', type: FIELD },
|
|
352
|
+
{ name: 'factTypeId', type: FIELD },
|
|
353
|
+
{ name: 'payload', type: EPHEMERAL_ARRAY(FIELD) },
|
|
354
|
+
{ name: 'originBlock', type: OPTION(ORIGIN_BLOCK) },
|
|
355
|
+
],
|
|
356
|
+
}),
|
|
357
|
+
|
|
358
|
+
aztec_utl_deleteFactCollection: makeEntry({
|
|
359
|
+
params: [
|
|
360
|
+
{ name: 'contractAddress', type: AZTEC_ADDRESS },
|
|
361
|
+
{ name: 'scope', type: AZTEC_ADDRESS },
|
|
362
|
+
{ name: 'factCollectionTypeId', type: FIELD },
|
|
363
|
+
{ name: 'factCollectionId', type: FIELD },
|
|
364
|
+
],
|
|
365
|
+
}),
|
|
366
|
+
|
|
367
|
+
aztec_utl_getFactCollection: makeEntry({
|
|
368
|
+
params: [
|
|
369
|
+
{ name: 'contractAddress', type: AZTEC_ADDRESS },
|
|
370
|
+
{ name: 'scope', type: AZTEC_ADDRESS },
|
|
371
|
+
{ name: 'factCollectionTypeId', type: FIELD },
|
|
372
|
+
{ name: 'factCollectionId', type: FIELD },
|
|
373
|
+
],
|
|
374
|
+
returnType: OPTION(FACT_COLLECTION),
|
|
375
|
+
}),
|
|
376
|
+
|
|
377
|
+
aztec_utl_getFactCollectionsByType: makeEntry({
|
|
378
|
+
params: [
|
|
379
|
+
{ name: 'contractAddress', type: AZTEC_ADDRESS },
|
|
380
|
+
{ name: 'scope', type: AZTEC_ADDRESS },
|
|
381
|
+
{ name: 'factCollectionTypeId', type: FIELD },
|
|
382
|
+
],
|
|
383
|
+
returnType: EPHEMERAL_ARRAY(FACT_COLLECTION),
|
|
384
|
+
}),
|
|
385
|
+
|
|
314
386
|
aztec_utl_callUtilityFunction: makeEntry({
|
|
315
387
|
params: [
|
|
316
388
|
{ name: 'contractAddress', type: AZTEC_ADDRESS },
|
|
@@ -365,6 +437,51 @@ export const ORACLE_REGISTRY = {
|
|
|
365
437
|
params: [{ name: 'slot', type: FIELD }],
|
|
366
438
|
}),
|
|
367
439
|
|
|
440
|
+
aztec_utl_pushTransient: makeEntry({
|
|
441
|
+
params: [
|
|
442
|
+
{ name: 'slot', type: FIELD },
|
|
443
|
+
{ name: 'elements', type: ARRAY(FIELD) },
|
|
444
|
+
],
|
|
445
|
+
returnType: U32,
|
|
446
|
+
}),
|
|
447
|
+
|
|
448
|
+
aztec_utl_popTransient: makeEntry({
|
|
449
|
+
params: [{ name: 'slot', type: FIELD }],
|
|
450
|
+
returnType: ARRAY(FIELD),
|
|
451
|
+
}),
|
|
452
|
+
|
|
453
|
+
aztec_utl_getTransient: makeEntry({
|
|
454
|
+
params: [
|
|
455
|
+
{ name: 'slot', type: FIELD },
|
|
456
|
+
{ name: 'index', type: U32 },
|
|
457
|
+
],
|
|
458
|
+
returnType: ARRAY(FIELD),
|
|
459
|
+
}),
|
|
460
|
+
|
|
461
|
+
aztec_utl_setTransient: makeEntry({
|
|
462
|
+
params: [
|
|
463
|
+
{ name: 'slot', type: FIELD },
|
|
464
|
+
{ name: 'index', type: U32 },
|
|
465
|
+
{ name: 'elements', type: ARRAY(FIELD) },
|
|
466
|
+
],
|
|
467
|
+
}),
|
|
468
|
+
|
|
469
|
+
aztec_utl_getTransientLen: makeEntry({
|
|
470
|
+
params: [{ name: 'slot', type: FIELD }],
|
|
471
|
+
returnType: U32,
|
|
472
|
+
}),
|
|
473
|
+
|
|
474
|
+
aztec_utl_removeTransient: makeEntry({
|
|
475
|
+
params: [
|
|
476
|
+
{ name: 'slot', type: FIELD },
|
|
477
|
+
{ name: 'index', type: U32 },
|
|
478
|
+
],
|
|
479
|
+
}),
|
|
480
|
+
|
|
481
|
+
aztec_utl_clearTransient: makeEntry({
|
|
482
|
+
params: [{ name: 'slot', type: FIELD }],
|
|
483
|
+
}),
|
|
484
|
+
|
|
368
485
|
aztec_prv_setHashPreimage: makeEntry({
|
|
369
486
|
params: [
|
|
370
487
|
{ name: 'values', type: ARRAY(FIELD) },
|
|
@@ -411,7 +528,7 @@ export const ORACLE_REGISTRY = {
|
|
|
411
528
|
|
|
412
529
|
aztec_prv_notifyCreatedContractClassLog: makeEntry({
|
|
413
530
|
params: [
|
|
414
|
-
{ name: 'log', type:
|
|
531
|
+
{ name: 'log', type: CONTRACT_CLASS_LOG },
|
|
415
532
|
{ name: 'counter', type: U32 },
|
|
416
533
|
],
|
|
417
534
|
}),
|
|
@@ -457,28 +574,24 @@ export const ORACLE_REGISTRY = {
|
|
|
457
574
|
}),
|
|
458
575
|
|
|
459
576
|
aztec_prv_getSenderForTags: makeEntry({ returnType: OPTION(AZTEC_ADDRESS) }),
|
|
460
|
-
} satisfies Record<string, OracleRegistryEntry>;
|
|
461
577
|
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
}
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
const result = await handler(positional as any);
|
|
480
|
-
return entry.serializeReturn(result);
|
|
481
|
-
}
|
|
578
|
+
aztec_prv_resolveTaggingStrategy: makeEntry({
|
|
579
|
+
params: [
|
|
580
|
+
{ name: 'sender', type: AZTEC_ADDRESS },
|
|
581
|
+
{ name: 'recipient', type: AZTEC_ADDRESS },
|
|
582
|
+
{ name: 'deliveryMode', type: DELIVERY_MODE },
|
|
583
|
+
],
|
|
584
|
+
returnType: RESOLVED_TAGGING_STRATEGY,
|
|
585
|
+
}),
|
|
586
|
+
|
|
587
|
+
aztec_prv_resolveCustomRequest: makeEntry({
|
|
588
|
+
params: [
|
|
589
|
+
{ name: 'kind', type: FIELD },
|
|
590
|
+
{ name: 'payload', type: ARRAY(FIELD) },
|
|
591
|
+
],
|
|
592
|
+
returnType: ARRAY(FIELD),
|
|
593
|
+
}),
|
|
594
|
+
} satisfies Record<string, OracleRegistryEntry>;
|
|
482
595
|
|
|
483
596
|
// ─── Registry Infrastructure ─────────────────────────────────────────────────
|
|
484
597
|
|
|
@@ -496,6 +609,10 @@ export interface OracleRegistryEntry<
|
|
|
496
609
|
deserializeParams(inputs: InputSlot[]): TDeserializedParams;
|
|
497
610
|
/** Serialize a handler return value into ACVM output slots. */
|
|
498
611
|
serializeReturn(result: TReturnValue): OutputSlot[];
|
|
612
|
+
/** The ordered named parameters with their {@link TypeMapping}s. Lets callers introspect the oracle's wire ABI. */
|
|
613
|
+
readonly params: readonly RegistryParam[];
|
|
614
|
+
/** The return {@link TypeMapping}, or `undefined` for oracles that return nothing. */
|
|
615
|
+
readonly returnType?: TypeMapping<TReturnValue>;
|
|
499
616
|
}
|
|
500
617
|
|
|
501
618
|
export function makeEntry<const TParams extends RegistryParam[] = [], TReturnValue = void>({
|
|
@@ -506,16 +623,18 @@ export function makeEntry<const TParams extends RegistryParam[] = [], TReturnVal
|
|
|
506
623
|
returnType?: TypeMapping<TReturnValue>;
|
|
507
624
|
} = {}): OracleRegistryEntry<InferDeserializedParams<TParams>, TReturnValue> {
|
|
508
625
|
return {
|
|
626
|
+
params: params ?? [],
|
|
627
|
+
returnType,
|
|
509
628
|
deserializeParams(inputs: InputSlot[]): InferDeserializedParams<TParams> {
|
|
510
629
|
const resolvedParams: RegistryParam[] = params ?? [];
|
|
511
630
|
// Walk the input slots left-to-right, advancing by each param's slot count.
|
|
512
631
|
let offset = 0;
|
|
513
|
-
|
|
632
|
+
const named = resolvedParams.map(param => {
|
|
514
633
|
if (!param.type.deserialization) {
|
|
515
634
|
throw new Error(`Param '${param.name}' has no deserialization defined`);
|
|
516
635
|
}
|
|
517
636
|
// Collect the slots for this param and wrap each in a FieldReader.
|
|
518
|
-
const slotCount = param.type
|
|
637
|
+
const slotCount = slotsOf(param.type);
|
|
519
638
|
const readers = inputs
|
|
520
639
|
.slice(offset, offset + slotCount)
|
|
521
640
|
.map(slot => new FieldReader(slot.map(hex => Fr.fromString(hex))));
|
|
@@ -525,7 +644,13 @@ export function makeEntry<const TParams extends RegistryParam[] = [], TReturnVal
|
|
|
525
644
|
const value = param.type.deserialization.fn(readers);
|
|
526
645
|
assertReadersConsumed(readers);
|
|
527
646
|
return { name: param.name, value };
|
|
528
|
-
})
|
|
647
|
+
});
|
|
648
|
+
// Every input slot must be specified by a param: oracles whose Noir decl passes an extra field must declare it
|
|
649
|
+
// (the handler can ignore it). Otherwise an under-declared shape would silently drop a field into nothing.
|
|
650
|
+
if (offset !== inputs.length) {
|
|
651
|
+
throw new Error(`Oracle received ${inputs.length} input slot(s) but the registry specifies ${offset}`);
|
|
652
|
+
}
|
|
653
|
+
return named as unknown as InferDeserializedParams<TParams>;
|
|
529
654
|
},
|
|
530
655
|
serializeReturn(result: TReturnValue): OutputSlot[] {
|
|
531
656
|
if (returnType?.serialization === undefined) {
|
|
@@ -539,7 +664,7 @@ export function makeEntry<const TParams extends RegistryParam[] = [], TReturnVal
|
|
|
539
664
|
}
|
|
540
665
|
|
|
541
666
|
/** A named oracle parameter with its TypeMapping. */
|
|
542
|
-
interface RegistryParam<TName extends string = string, T = any> {
|
|
667
|
+
export interface RegistryParam<TName extends string = string, T = any> {
|
|
543
668
|
name: TName;
|
|
544
669
|
type: TypeMapping<T>;
|
|
545
670
|
}
|
|
@@ -565,14 +690,14 @@ export type ParamTypes<T extends readonly NamedValue[]> = {
|
|
|
565
690
|
* @example `InferDeserializedParams<[RegistryParam<'addr', AztecAddress>, RegistryParam<'slot', Fr>]>`
|
|
566
691
|
* → `[NamedValue<'addr', AztecAddress>, NamedValue<'slot', Fr>]`
|
|
567
692
|
*/
|
|
568
|
-
type InferDeserializedParams<T extends RegistryParam[]> = {
|
|
693
|
+
export type InferDeserializedParams<T extends RegistryParam[]> = {
|
|
569
694
|
[K in keyof T]: T[K] extends RegistryParam<infer N, infer V> ? NamedValue<N, V> : never;
|
|
570
695
|
};
|
|
571
696
|
|
|
572
697
|
// ─── Derived Handler Interfaces ─────────────────────────────────────────────
|
|
573
698
|
|
|
574
699
|
/** Strips the `aztec_{scope}_` prefix from an oracle key to get the handler method name. */
|
|
575
|
-
|
|
700
|
+
type StripOraclePrefix<K extends string> = K extends `aztec_${string}_${infer M}` ? M : never;
|
|
576
701
|
|
|
577
702
|
/** Derives the handler function signature from a registry entry's deserialization/serialization types. */
|
|
578
703
|
type HandlerFn<E extends OracleRegistryEntry> = (
|