@aztec/pxe 5.0.0-private.20260319 → 5.0.0-rc.2
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 +45 -111
- 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 +51 -0
- package/dest/bin/oracle_version_helpers.d.ts.map +1 -0
- package/dest/bin/oracle_version_helpers.js +254 -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 +20 -14
- package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -1
- package/dest/block_synchronizer/block_synchronizer.js +78 -28
- package/dest/config/index.d.ts +8 -1
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +13 -14
- package/dest/contract_function_simulator/contract_function_simulator.d.ts +19 -19
- package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
- package/dest/contract_function_simulator/contract_function_simulator.js +57 -32
- 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 +2 -2
- package/dest/contract_function_simulator/execution_note_cache.d.ts.map +1 -1
- package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts +5 -9
- package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts.map +1 -1
- package/dest/contract_function_simulator/execution_tagging_index_cache.js +3 -7
- package/dest/contract_function_simulator/index.d.ts +24 -6
- package/dest/contract_function_simulator/index.d.ts.map +1 -1
- package/dest/contract_function_simulator/index.js +11 -4
- package/dest/contract_function_simulator/noir-structs/bounded_vec.d.ts +29 -0
- package/dest/contract_function_simulator/noir-structs/bounded_vec.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/bounded_vec.js +30 -0
- package/dest/contract_function_simulator/noir-structs/contract_class_log_data.d.ts +9 -0
- package/dest/contract_function_simulator/noir-structs/contract_class_log_data.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/contract_class_log_data.js +1 -0
- package/dest/contract_function_simulator/noir-structs/embedded_curve_point.d.ts +7 -0
- package/dest/contract_function_simulator/noir-structs/embedded_curve_point.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/embedded_curve_point.js +1 -0
- package/dest/contract_function_simulator/noir-structs/ephemeral_array.d.ts +37 -0
- package/dest/contract_function_simulator/noir-structs/ephemeral_array.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/ephemeral_array.js +59 -0
- package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts +5 -5
- 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 +7 -9
- 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 +29 -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 +5 -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 -61
- package/dest/contract_function_simulator/noir-structs/note_data.d.ts +27 -0
- package/dest/contract_function_simulator/noir-structs/note_data.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/note_data.js +3 -0
- package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts +5 -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 -10
- 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/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 +21 -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 +33 -0
- package/dest/contract_function_simulator/noir-structs/resolved_tx.d.ts +21 -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 +50 -0
- package/dest/contract_function_simulator/noir-structs/tx_effect_data.d.ts +14 -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 +16 -0
- package/dest/contract_function_simulator/oracle/acir_callback.d.ts.map +1 -0
- package/dest/contract_function_simulator/oracle/acir_callback.js +71 -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 -103
- 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/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 +135 -0
- package/dest/contract_function_simulator/oracle/oracle_registry.d.ts.map +1 -0
- package/dest/contract_function_simulator/oracle/oracle_registry.js +976 -0
- package/dest/contract_function_simulator/oracle/oracle_type_mappings.d.ts +183 -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 +1222 -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 +3 -4
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +44 -42
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/private_execution_oracle.js +147 -59
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +143 -71
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +485 -187
- 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/proxied_contract_data_source.d.ts +1 -1
- package/dest/contract_function_simulator/proxied_contract_data_source.d.ts.map +1 -1
- package/dest/contract_function_simulator/proxied_contract_data_source.js +35 -64
- 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/contract_sync/contract_sync_service.d.ts +11 -9
- package/dest/contract_sync/contract_sync_service.d.ts.map +1 -1
- package/dest/contract_sync/contract_sync_service.js +73 -51
- package/dest/contract_sync/helpers.d.ts +8 -9
- package/dest/contract_sync/helpers.d.ts.map +1 -1
- package/dest/contract_sync/helpers.js +23 -30
- package/dest/debug/pxe_debug_utils.d.ts +3 -8
- 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 +1 -2
- package/dest/entrypoints/client/bundle/index.d.ts.map +1 -1
- package/dest/entrypoints/client/bundle/index.js +0 -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 +18 -5
- package/dest/entrypoints/client/lazy/index.d.ts +1 -2
- package/dest/entrypoints/client/lazy/index.d.ts.map +1 -1
- package/dest/entrypoints/client/lazy/index.js +0 -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 +18 -5
- 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 +2 -3
- package/dest/entrypoints/server/index.d.ts.map +1 -1
- package/dest/entrypoints/server/index.js +1 -2
- 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 +20 -6
- package/dest/error_enriching.js +1 -1
- package/dest/events/event_service.d.ts +15 -6
- package/dest/events/event_service.d.ts.map +1 -1
- package/dest/events/event_service.js +44 -11
- 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 +51 -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 +4 -0
- package/dest/hooks/index.d.ts.map +1 -0
- package/dest/hooks/index.js +1 -0
- package/dest/hooks/resolve_tagging_secret_strategy.d.ts +41 -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 +12 -12
- package/dest/logs/log_service.d.ts.map +1 -1
- package/dest/logs/log_service.js +169 -81
- package/dest/messages/tx_resolver_service.d.ts +17 -0
- package/dest/messages/tx_resolver_service.d.ts.map +1 -0
- package/dest/messages/tx_resolver_service.js +55 -0
- package/dest/notes/note_service.d.ts +27 -6
- package/dest/notes/note_service.d.ts.map +1 -1
- package/dest/notes/note_service.js +80 -56
- 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.js +1 -1
- 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 +152 -59
- package/dest/private_kernel/private_kernel_oracle.d.ts +10 -10
- package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -1
- package/dest/private_kernel/private_kernel_oracle.js +24 -22
- package/dest/pxe.d.ts +104 -27
- package/dest/pxe.d.ts.map +1 -1
- package/dest/pxe.js +229 -130
- 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 +647 -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 +36 -28
- 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 +1 -1
- package/dest/storage/contract_store/contract_store.d.ts.map +1 -1
- package/dest/storage/contract_store/contract_store.js +11 -28
- package/dest/storage/fact_store/fact_service.d.ts +20 -0
- package/dest/storage/fact_store/fact_service.d.ts.map +1 -0
- package/dest/storage/fact_store/fact_service.js +30 -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 +5 -0
- package/dest/storage/fact_store/index.d.ts.map +1 -0
- package/dest/storage/fact_store/index.js +3 -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 +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 +199 -170
- 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 +43 -43
- package/dest/storage/private_event_store/stored_private_event.js +1 -1
- 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 +5 -5
- package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -1
- package/dest/storage/tagging_store/sender_tagging_store.js +3 -3
- package/dest/storage/tagging_store/tagging_secret_sources_store.d.ts +40 -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 +92 -0
- package/dest/tagging/get_all_logs_by_tags.d.ts +34 -10
- package/dest/tagging/get_all_logs_by_tags.d.ts.map +1 -1
- package/dest/tagging/get_all_logs_by_tags.js +36 -37
- package/dest/tagging/index.d.ts +5 -4
- package/dest/tagging/index.d.ts.map +1 -1
- package/dest/tagging/index.js +4 -3
- 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 +69 -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 +203 -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 +4 -5
- package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts.map +1 -1
- package/dest/tagging/sender_sync/sync_sender_tagging_indexes.js +26 -14
- package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts +11 -6
- package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts.map +1 -1
- package/dest/tagging/sender_sync/utils/get_status_change_of_pending.js +21 -0
- package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts +4 -4
- 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 +2 -2
- package/package.json +20 -17
- package/src/bin/check_oracle_version.ts +51 -133
- package/src/bin/index.ts +5 -0
- package/src/bin/oracle_version_helpers.ts +311 -0
- package/src/block_synchronizer/block_stream_source.ts +42 -0
- package/src/block_synchronizer/block_synchronizer.ts +93 -38
- package/src/config/index.ts +15 -8
- package/src/contract_function_simulator/contract_function_simulator.ts +86 -48
- package/src/contract_function_simulator/ephemeral_array_service.ts +110 -0
- package/src/contract_function_simulator/execution_note_cache.ts +1 -1
- package/src/contract_function_simulator/execution_tagging_index_cache.ts +5 -9
- package/src/contract_function_simulator/index.ts +63 -5
- package/src/contract_function_simulator/noir-structs/bounded_vec.ts +43 -0
- package/src/contract_function_simulator/noir-structs/contract_class_log_data.ts +9 -0
- package/src/contract_function_simulator/noir-structs/embedded_curve_point.ts +4 -0
- package/src/contract_function_simulator/noir-structs/ephemeral_array.ts +66 -0
- package/src/contract_function_simulator/noir-structs/event_validation_request.ts +5 -7
- package/src/contract_function_simulator/noir-structs/fact.ts +13 -0
- package/src/contract_function_simulator/noir-structs/fact_collection.ts +59 -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 +8 -61
- package/src/contract_function_simulator/noir-structs/note_data.ts +27 -0
- package/src/contract_function_simulator/noir-structs/note_validation_request.ts +6 -8
- 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/provided_secret.ts +5 -0
- package/src/contract_function_simulator/noir-structs/resolved_tagging_strategy.ts +45 -0
- package/src/contract_function_simulator/noir-structs/resolved_tx.ts +53 -0
- package/src/contract_function_simulator/noir-structs/tx_effect_data.ts +15 -0
- package/src/contract_function_simulator/noir-structs/utility_context.ts +5 -17
- package/src/contract_function_simulator/oracle/acir_callback.ts +108 -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/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 +681 -0
- package/src/contract_function_simulator/oracle/oracle_type_mappings.ts +947 -0
- package/src/contract_function_simulator/oracle/private_execution.ts +3 -4
- package/src/contract_function_simulator/oracle/private_execution_oracle.ts +182 -79
- package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +743 -295
- package/src/contract_function_simulator/pick_notes.ts +22 -3
- package/src/contract_function_simulator/proxied_contract_data_source.ts +41 -64
- package/src/contract_function_simulator/transient_array_service.ts +91 -0
- package/src/contract_logging.ts +18 -5
- package/src/contract_sync/contract_sync_service.ts +101 -87
- package/src/contract_sync/helpers.ts +24 -43
- package/src/debug/pxe_debug_utils.ts +3 -11
- package/src/entrypoints/client/bundle/index.ts +0 -1
- package/src/entrypoints/client/bundle/utils.ts +17 -5
- package/src/entrypoints/client/lazy/index.ts +0 -1
- package/src/entrypoints/client/lazy/utils.ts +17 -5
- package/src/entrypoints/pxe_creation_options.ts +21 -1
- package/src/entrypoints/server/index.ts +1 -2
- package/src/entrypoints/server/utils.ts +24 -7
- package/src/error_enriching.ts +1 -1
- package/src/events/event_service.ts +69 -21
- 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 +57 -0
- package/src/hooks/index.ts +11 -0
- package/src/hooks/resolve_tagging_secret_strategy.ts +46 -0
- package/src/logs/log_service.ts +204 -146
- package/src/messages/tx_resolver_service.ts +69 -0
- package/src/notes/note_service.ts +119 -85
- 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 +1 -1
- package/src/private_kernel/hints/test_utils.ts +3 -10
- package/src/private_kernel/private_kernel_execution_prover.ts +240 -82
- package/src/private_kernel/private_kernel_oracle.ts +35 -25
- package/src/pxe.ts +369 -138
- 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 +18 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/SenderTaggingStore.json +22 -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 +769 -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 +44 -26
- package/src/storage/capsule_store/index.ts +1 -0
- package/src/storage/contract_store/contract_store.ts +16 -37
- package/src/storage/fact_store/fact_service.ts +45 -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 +4 -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 +228 -192
- 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 +52 -54
- package/src/storage/private_event_store/stored_private_event.ts +1 -1
- 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 +6 -6
- package/src/storage/tagging_store/tagging_secret_sources_store.ts +117 -0
- package/src/tagging/get_all_logs_by_tags.ts +78 -50
- package/src/tagging/index.ts +4 -3
- package/src/tagging/persist_sender_tagging_index_ranges.ts +57 -0
- package/src/tagging/recipient_sync/sync_tagged_private_logs.ts +301 -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 +41 -19
- package/src/tagging/sender_sync/utils/get_status_change_of_pending.ts +23 -8
- package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +4 -5
- 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/noir-structs/message_tx_context.d.ts +0 -16
- package/dest/contract_function_simulator/noir-structs/message_tx_context.d.ts.map +0 -1
- package/dest/contract_function_simulator/noir-structs/message_tx_context.js +0 -57
- package/dest/contract_function_simulator/oracle/legacy_oracle_mappings.d.ts +0 -9
- package/dest/contract_function_simulator/oracle/legacy_oracle_mappings.d.ts.map +0 -1
- package/dest/contract_function_simulator/oracle/legacy_oracle_mappings.js +0 -42
- package/dest/contract_function_simulator/oracle/oracle.d.ts +0 -61
- package/dest/contract_function_simulator/oracle/oracle.d.ts.map +0 -1
- package/dest/contract_function_simulator/oracle/oracle.js +0 -437
- package/dest/messages/message_context_service.d.ts +0 -17
- package/dest/messages/message_context_service.d.ts.map +0 -1
- package/dest/messages/message_context_service.js +0 -36
- 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/src/access_scopes.ts +0 -9
- package/src/contract_function_simulator/noir-structs/message_tx_context.ts +0 -55
- package/src/contract_function_simulator/oracle/legacy_oracle_mappings.ts +0 -135
- package/src/contract_function_simulator/oracle/oracle.ts +0 -675
- package/src/messages/message_context_service.ts +0 -45
- 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
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TypeScript counterpart of Noir's `Option<T>`.
|
|
3
|
+
*
|
|
4
|
+
* Wraps a value that may or may not be present. Use {@link Option.some} to wrap a present value and
|
|
5
|
+
* {@link Option.none} for an absent one. The type guards {@link isSome} and {@link isNone} narrow
|
|
6
|
+
* `value` in conditional branches.
|
|
7
|
+
*/
|
|
8
|
+
export declare class Option<T> {
|
|
9
|
+
readonly value: T | undefined;
|
|
10
|
+
readonly size: unknown;
|
|
11
|
+
private constructor();
|
|
12
|
+
/**
|
|
13
|
+
* Wrap a present value.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```ts
|
|
17
|
+
* return Option.some(values);
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
static some<T>(value: T): Option<T>;
|
|
21
|
+
/**
|
|
22
|
+
* Construct an absent Option.
|
|
23
|
+
*
|
|
24
|
+
* When serialized back to ACVM, the `None` case must produce the same number of fields as `Some`. For an inner type whose
|
|
25
|
+
* wire size varies per call site (`BoundedVec`, an array), pass a `size` descriptor so the inner type's shape can
|
|
26
|
+
* resolve how many zero fields to emit; fixed-size inners take no argument.
|
|
27
|
+
*
|
|
28
|
+
* @example None for a fixed-size type:
|
|
29
|
+
* ```ts
|
|
30
|
+
* return Option.none();
|
|
31
|
+
* ```
|
|
32
|
+
*
|
|
33
|
+
* @example None for a dynamic-size type:
|
|
34
|
+
* ```ts
|
|
35
|
+
* return Option.none({ maxLength: ciphertext.maxLength });
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
static none<T>(size?: unknown): Option<T>;
|
|
39
|
+
/**
|
|
40
|
+
* Type guard: narrows `value` to `T` in the truthy branch.
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* ```ts
|
|
44
|
+
* const opt = await handler.getSenderForTags();
|
|
45
|
+
* if (opt.isSome()) {
|
|
46
|
+
* console.log(opt.value); // narrowed to T
|
|
47
|
+
* }
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
isSome(): this is Option<T> & {
|
|
51
|
+
value: T;
|
|
52
|
+
};
|
|
53
|
+
/** Type guard: narrows `value` to `undefined` in the truthy branch. */
|
|
54
|
+
isNone(): this is Option<T> & {
|
|
55
|
+
value: undefined;
|
|
56
|
+
};
|
|
57
|
+
equals(other: Option<T>, innerEquals: (a: T, b: T) => boolean): boolean;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL25vaXItc3RydWN0cy9vcHRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBQ0gscUJBQWEsTUFBTSxDQUFDLENBQUM7YUFFRCxLQUFLLEVBQUUsQ0FBQyxHQUFHLFNBQVM7YUFHcEIsSUFBSSxFQUFFLE9BQU87SUFKL0IsT0FBTyxlQUtIO0lBRUo7Ozs7Ozs7T0FPRztJQUNILE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUVsQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7O09BZ0JHO0lBQ0gsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEVBQUUsT0FBTyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FFeEM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0gsTUFBTSxJQUFJLElBQUksSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUc7UUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFBO0tBQUUsQ0FFekM7SUFFRCx1RUFBdUU7SUFDdkUsTUFBTSxJQUFJLElBQUksSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUc7UUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFBO0tBQUUsQ0FFakQ7SUFFRCxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssT0FBTyxHQUFHLE9BQU8sQ0FLdEU7Q0FDRiJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"option.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/noir-structs/option.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,qBAAa,MAAM,CAAC,CAAC;aAED,KAAK,EAAE,CAAC,GAAG,SAAS;aAGpB,IAAI,EAAE,OAAO;IAJ/B,OAAO,eAKH;IAEJ;;;;;;;OAOG;IACH,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAElC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAExC;IAED;;;;;;;;;;OAUG;IACH,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG;QAAE,KAAK,EAAE,CAAC,CAAA;KAAE,CAEzC;IAED,uEAAuE;IACvE,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG;QAAE,KAAK,EAAE,SAAS,CAAA;KAAE,CAEjD;IAED,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,OAAO,GAAG,OAAO,CAKtE;CACF"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TypeScript counterpart of Noir's `Option<T>`.
|
|
3
|
+
*
|
|
4
|
+
* Wraps a value that may or may not be present. Use {@link Option.some} to wrap a present value and
|
|
5
|
+
* {@link Option.none} for an absent one. The type guards {@link isSome} and {@link isNone} narrow
|
|
6
|
+
* `value` in conditional branches.
|
|
7
|
+
*/ export class Option {
|
|
8
|
+
value;
|
|
9
|
+
size;
|
|
10
|
+
constructor(value, // `unknown` (not the descriptor shape) keeps this generic Option decoupled from the serialization layer's
|
|
11
|
+
// `{ length }`/`{ maxLength }` size descriptors; only the None-serialization path inspects it.
|
|
12
|
+
size){
|
|
13
|
+
this.value = value;
|
|
14
|
+
this.size = size;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Wrap a present value.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```ts
|
|
21
|
+
* return Option.some(values);
|
|
22
|
+
* ```
|
|
23
|
+
*/ static some(value) {
|
|
24
|
+
return new Option(value, undefined);
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Construct an absent Option.
|
|
28
|
+
*
|
|
29
|
+
* When serialized back to ACVM, the `None` case must produce the same number of fields as `Some`. For an inner type whose
|
|
30
|
+
* wire size varies per call site (`BoundedVec`, an array), pass a `size` descriptor so the inner type's shape can
|
|
31
|
+
* resolve how many zero fields to emit; fixed-size inners take no argument.
|
|
32
|
+
*
|
|
33
|
+
* @example None for a fixed-size type:
|
|
34
|
+
* ```ts
|
|
35
|
+
* return Option.none();
|
|
36
|
+
* ```
|
|
37
|
+
*
|
|
38
|
+
* @example None for a dynamic-size type:
|
|
39
|
+
* ```ts
|
|
40
|
+
* return Option.none({ maxLength: ciphertext.maxLength });
|
|
41
|
+
* ```
|
|
42
|
+
*/ static none(size) {
|
|
43
|
+
return new Option(undefined, size);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Type guard: narrows `value` to `T` in the truthy branch.
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* ```ts
|
|
50
|
+
* const opt = await handler.getSenderForTags();
|
|
51
|
+
* if (opt.isSome()) {
|
|
52
|
+
* console.log(opt.value); // narrowed to T
|
|
53
|
+
* }
|
|
54
|
+
* ```
|
|
55
|
+
*/ isSome() {
|
|
56
|
+
return this.value !== undefined;
|
|
57
|
+
}
|
|
58
|
+
/** Type guard: narrows `value` to `undefined` in the truthy branch. */ isNone() {
|
|
59
|
+
return this.value === undefined;
|
|
60
|
+
}
|
|
61
|
+
equals(other, innerEquals) {
|
|
62
|
+
if (this.isSome() && other.isSome()) {
|
|
63
|
+
return innerEquals(this.value, other.value);
|
|
64
|
+
}
|
|
65
|
+
return this.isNone() && other.isNone();
|
|
66
|
+
}
|
|
67
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
|
+
/**
|
|
3
|
+
* The block a retractable fact originates from.
|
|
4
|
+
*
|
|
5
|
+
* A TS version of the `OriginBlock` struct in `facts/mod.nr`.
|
|
6
|
+
*/
|
|
7
|
+
export type OriginBlock = {
|
|
8
|
+
blockNumber: number;
|
|
9
|
+
blockHash: Fr;
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JpZ2luX2Jsb2NrLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL25vaXItc3RydWN0cy9vcmlnaW5fYmxvY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFekQ7Ozs7R0FJRztBQUNILE1BQU0sTUFBTSxXQUFXLEdBQUc7SUFBRSxXQUFXLEVBQUUsTUFBTSxDQUFDO0lBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQTtDQUFFLENBQUMifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"origin_block.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/noir-structs/origin_block.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEzD;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,EAAE,CAAA;CAAE,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
|
+
import type { AppTaggingSecretKind } from '@aztec/stdlib/logs';
|
|
3
|
+
/** A tagging secret an app supplies explicitly to `getPendingTaggedLogs` when PXE cannot derive it internally. */
|
|
4
|
+
export type ProvidedSecret = {
|
|
5
|
+
secret: Fr;
|
|
6
|
+
mode: AppTaggingSecretKind;
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZWRfc2VjcmV0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL25vaXItc3RydWN0cy9wcm92aWRlZF9zZWNyZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUUvRCxrSEFBa0g7QUFDbEgsTUFBTSxNQUFNLGNBQWMsR0FBRztJQUFFLE1BQU0sRUFBRSxFQUFFLENBQUM7SUFBQyxJQUFJLEVBQUUsb0JBQW9CLENBQUE7Q0FBRSxDQUFDIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provided_secret.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/noir-structs/provided_secret.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE/D,kHAAkH;AAClH,MAAM,MAAM,cAAc,GAAG;IAAE,MAAM,EAAE,EAAE,CAAC;IAAC,IAAI,EAAE,oBAAoB,CAAA;CAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
/** A tagging secret an app supplies explicitly to `getPendingTaggedLogs` when PXE cannot derive it internally. */ export { };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
|
+
/**
|
|
3
|
+
* The tagging secret PXE hands to the contract after applying the wallet's {@link TaggingSecretStrategy} choice
|
|
4
|
+
* (and app-siloing). The contract uses it directly to derive the message tag, so it never sees raw key material.
|
|
5
|
+
*/
|
|
6
|
+
export type ResolvedTaggingStrategy = {
|
|
7
|
+
/** A non-interactive handshake: the recipient re-derives the secret from the onchain handshake registry. */
|
|
8
|
+
type: 'non-interactive-handshake';
|
|
9
|
+
} | {
|
|
10
|
+
/**
|
|
11
|
+
* An app-siloed, recipient-directional secret, ready to use. Only sound for unconstrained delivery.
|
|
12
|
+
*/
|
|
13
|
+
type: 'unconstrained-secret';
|
|
14
|
+
/** The app-siloed directional tagging secret. */
|
|
15
|
+
secret: Fr;
|
|
16
|
+
};
|
|
17
|
+
/** Serializes a {@link ResolvedTaggingStrategy} to its Noir `[kind, secret]` field layout, zero-filling absent fields. */
|
|
18
|
+
export declare function resolvedTaggingStrategyToFields(resolved: ResolvedTaggingStrategy): Fr[];
|
|
19
|
+
/** Deserializes a {@link ResolvedTaggingStrategy} from its `kind` discriminant and `secret` field. */
|
|
20
|
+
export declare function resolvedTaggingStrategyFromFields(kind: number, secret: Fr): ResolvedTaggingStrategy;
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZWRfdGFnZ2luZ19zdHJhdGVneS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRyYWN0X2Z1bmN0aW9uX3NpbXVsYXRvci9ub2lyLXN0cnVjdHMvcmVzb2x2ZWRfdGFnZ2luZ19zdHJhdGVneS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFNcEQ7OztHQUdHO0FBQ0gsTUFBTSxNQUFNLHVCQUF1QixHQUMvQjtJQUNFLDRHQUE0RztJQUM1RyxJQUFJLEVBQUUsMkJBQTJCLENBQUM7Q0FDbkMsR0FDRDtJQUNFOztPQUVHO0lBQ0gsSUFBSSxFQUFFLHNCQUFzQixDQUFDO0lBQzdCLGlEQUFpRDtJQUNqRCxNQUFNLEVBQUUsRUFBRSxDQUFDO0NBQ1osQ0FBQztBQUVOLDBIQUEwSDtBQUMxSCx3QkFBZ0IsK0JBQStCLENBQUMsUUFBUSxFQUFFLHVCQUF1QixHQUFHLEVBQUUsRUFBRSxDQU92RjtBQUVELHNHQUFzRztBQUN0Ryx3QkFBZ0IsaUNBQWlDLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsRUFBRSxHQUFHLHVCQUF1QixDQVNuRyJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolved_tagging_strategy.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/noir-structs/resolved_tagging_strategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAMpD;;;GAGG;AACH,MAAM,MAAM,uBAAuB,GAC/B;IACE,4GAA4G;IAC5G,IAAI,EAAE,2BAA2B,CAAC;CACnC,GACD;IACE;;OAEG;IACH,IAAI,EAAE,sBAAsB,CAAC;IAC7B,iDAAiD;IACjD,MAAM,EAAE,EAAE,CAAC;CACZ,CAAC;AAEN,0HAA0H;AAC1H,wBAAgB,+BAA+B,CAAC,QAAQ,EAAE,uBAAuB,GAAG,EAAE,EAAE,CAOvF;AAED,sGAAsG;AACtG,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,uBAAuB,CASnG"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
|
+
// Keep in sync with aztec::messages::delivery::ResolvedTaggingStrategy
|
|
3
|
+
const NON_INTERACTIVE_HANDSHAKE = 1;
|
|
4
|
+
const UNCONSTRAINED_SECRET = 2;
|
|
5
|
+
/** Serializes a {@link ResolvedTaggingStrategy} to its Noir `[kind, secret]` field layout, zero-filling absent fields. */ export function resolvedTaggingStrategyToFields(resolved) {
|
|
6
|
+
switch(resolved.type){
|
|
7
|
+
case 'non-interactive-handshake':
|
|
8
|
+
return [
|
|
9
|
+
new Fr(NON_INTERACTIVE_HANDSHAKE),
|
|
10
|
+
Fr.ZERO
|
|
11
|
+
];
|
|
12
|
+
case 'unconstrained-secret':
|
|
13
|
+
return [
|
|
14
|
+
new Fr(UNCONSTRAINED_SECRET),
|
|
15
|
+
resolved.secret
|
|
16
|
+
];
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
/** Deserializes a {@link ResolvedTaggingStrategy} from its `kind` discriminant and `secret` field. */ export function resolvedTaggingStrategyFromFields(kind, secret) {
|
|
20
|
+
switch(kind){
|
|
21
|
+
case NON_INTERACTIVE_HANDSHAKE:
|
|
22
|
+
return {
|
|
23
|
+
type: 'non-interactive-handshake'
|
|
24
|
+
};
|
|
25
|
+
case UNCONSTRAINED_SECRET:
|
|
26
|
+
return {
|
|
27
|
+
type: 'unconstrained-secret',
|
|
28
|
+
secret
|
|
29
|
+
};
|
|
30
|
+
default:
|
|
31
|
+
throw new Error(`Unrecognized resolved tagging strategy kind: ${kind}`);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
|
+
import { TxHash } from '@aztec/stdlib/tx';
|
|
3
|
+
/**
|
|
4
|
+
* The resolved on-chain context of a transaction.
|
|
5
|
+
*
|
|
6
|
+
* Carries the note hashes and first nullifier needed to discover notes that originated from the transaction, plus the
|
|
7
|
+
* number and hash of the block in which it was mined.
|
|
8
|
+
*
|
|
9
|
+
* A TS version of the `ResolvedTx` struct in `oracle/tx_resolution.nr`.
|
|
10
|
+
*/
|
|
11
|
+
export declare class ResolvedTx {
|
|
12
|
+
txHash: TxHash;
|
|
13
|
+
uniqueNoteHashesInTx: Fr[];
|
|
14
|
+
firstNullifierInTx: Fr;
|
|
15
|
+
blockNumber: number;
|
|
16
|
+
blockHash: Fr;
|
|
17
|
+
constructor(txHash: TxHash, uniqueNoteHashesInTx: Fr[], firstNullifierInTx: Fr, blockNumber: number, blockHash: Fr);
|
|
18
|
+
toFields(): Fr[];
|
|
19
|
+
static empty(): ResolvedTx;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZWRfdHguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250cmFjdF9mdW5jdGlvbl9zaW11bGF0b3Ivbm9pci1zdHJ1Y3RzL3Jlc29sdmVkX3R4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFMUM7Ozs7Ozs7R0FPRztBQUNILHFCQUFhLFVBQVU7SUFFWixNQUFNLEVBQUUsTUFBTTtJQUNkLG9CQUFvQixFQUFFLEVBQUUsRUFBRTtJQUMxQixrQkFBa0IsRUFBRSxFQUFFO0lBQ3RCLFdBQVcsRUFBRSxNQUFNO0lBQ25CLFNBQVMsRUFBRSxFQUFFO0lBTHRCLFlBQ1MsTUFBTSxFQUFFLE1BQU0sRUFDZCxvQkFBb0IsRUFBRSxFQUFFLEVBQUUsRUFDMUIsa0JBQWtCLEVBQUUsRUFBRSxFQUN0QixXQUFXLEVBQUUsTUFBTSxFQUNuQixTQUFTLEVBQUUsRUFBRSxFQUNsQjtJQUVKLFFBQVEsSUFBSSxFQUFFLEVBQUUsQ0FRZjtJQUVELE1BQU0sQ0FBQyxLQUFLLElBQUksVUFBVSxDQUV6QjtDQUNGIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolved_tx.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/noir-structs/resolved_tx.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C;;;;;;;GAOG;AACH,qBAAa,UAAU;IAEZ,MAAM,EAAE,MAAM;IACd,oBAAoB,EAAE,EAAE,EAAE;IAC1B,kBAAkB,EAAE,EAAE;IACtB,WAAW,EAAE,MAAM;IACnB,SAAS,EAAE,EAAE;IALtB,YACS,MAAM,EAAE,MAAM,EACd,oBAAoB,EAAE,EAAE,EAAE,EAC1B,kBAAkB,EAAE,EAAE,EACtB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,EAAE,EAClB;IAEJ,QAAQ,IAAI,EAAE,EAAE,CAQf;IAED,MAAM,CAAC,KAAK,IAAI,UAAU,CAEzB;CACF"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { MAX_NOTE_HASHES_PER_TX } from '@aztec/constants';
|
|
2
|
+
import { padArrayEnd } from '@aztec/foundation/collection';
|
|
3
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
4
|
+
import { TxHash } from '@aztec/stdlib/tx';
|
|
5
|
+
/**
|
|
6
|
+
* The resolved on-chain context of a transaction.
|
|
7
|
+
*
|
|
8
|
+
* Carries the note hashes and first nullifier needed to discover notes that originated from the transaction, plus the
|
|
9
|
+
* number and hash of the block in which it was mined.
|
|
10
|
+
*
|
|
11
|
+
* A TS version of the `ResolvedTx` struct in `oracle/tx_resolution.nr`.
|
|
12
|
+
*/ export class ResolvedTx {
|
|
13
|
+
txHash;
|
|
14
|
+
uniqueNoteHashesInTx;
|
|
15
|
+
firstNullifierInTx;
|
|
16
|
+
blockNumber;
|
|
17
|
+
blockHash;
|
|
18
|
+
constructor(txHash, uniqueNoteHashesInTx, firstNullifierInTx, blockNumber, blockHash){
|
|
19
|
+
this.txHash = txHash;
|
|
20
|
+
this.uniqueNoteHashesInTx = uniqueNoteHashesInTx;
|
|
21
|
+
this.firstNullifierInTx = firstNullifierInTx;
|
|
22
|
+
this.blockNumber = blockNumber;
|
|
23
|
+
this.blockHash = blockHash;
|
|
24
|
+
}
|
|
25
|
+
toFields() {
|
|
26
|
+
return [
|
|
27
|
+
this.txHash.hash,
|
|
28
|
+
...serializeBoundedVec(this.uniqueNoteHashesInTx, MAX_NOTE_HASHES_PER_TX),
|
|
29
|
+
this.firstNullifierInTx,
|
|
30
|
+
new Fr(this.blockNumber),
|
|
31
|
+
this.blockHash
|
|
32
|
+
];
|
|
33
|
+
}
|
|
34
|
+
static empty() {
|
|
35
|
+
return new ResolvedTx(TxHash.zero(), [], Fr.ZERO, 0, Fr.ZERO);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Helper function to serialize a bounded vector according to Noir's BoundedVec format: the storage array padded to
|
|
40
|
+
* `maxLength`, followed by the actual length.
|
|
41
|
+
* @param values - The values to serialize
|
|
42
|
+
* @param maxLength - The maximum length of the bounded vector
|
|
43
|
+
* @returns The serialized bounded vector as Fr[]
|
|
44
|
+
*/ function serializeBoundedVec(values, maxLength) {
|
|
45
|
+
const storage = padArrayEnd(values, Fr.ZERO, maxLength, `Attempted to serialize ${values} values into a BoundedVec with max length ${maxLength}`);
|
|
46
|
+
return [
|
|
47
|
+
...storage,
|
|
48
|
+
new Fr(values.length)
|
|
49
|
+
];
|
|
50
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { FieldsOf } from '@aztec/foundation/types';
|
|
2
|
+
import type { FlatPublicLogs } from '@aztec/stdlib/logs';
|
|
3
|
+
import type { TxEffect } from '@aztec/stdlib/tx';
|
|
4
|
+
import type { ContractClassLogData } from './contract_class_log_data.js';
|
|
5
|
+
/**
|
|
6
|
+
* Wire form of a {@link TxEffect} as the `getTxEffect` oracle returns it: identical to the domain type except its logs
|
|
7
|
+
* are flattened to their Noir layout. Keeping the conversion in the handler lets the `TX_EFFECT` mapping stay purely
|
|
8
|
+
* structural.
|
|
9
|
+
*/
|
|
10
|
+
export type TxEffectData = Omit<FieldsOf<TxEffect>, 'publicLogs' | 'contractClassLogs'> & {
|
|
11
|
+
publicLogs: FlatPublicLogs;
|
|
12
|
+
contractClassLogs: ContractClassLogData[];
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfZWZmZWN0X2RhdGEuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250cmFjdF9mdW5jdGlvbl9zaW11bGF0b3Ivbm9pci1zdHJ1Y3RzL3R4X2VmZmVjdF9kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3pELE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWpELE9BQU8sS0FBSyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFekU7Ozs7R0FJRztBQUNILE1BQU0sTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRSxZQUFZLEdBQUcsbUJBQW1CLENBQUMsR0FBRztJQUN4RixVQUFVLEVBQUUsY0FBYyxDQUFDO0lBQzNCLGlCQUFpQixFQUFFLG9CQUFvQixFQUFFLENBQUM7Q0FDM0MsQ0FBQyJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tx_effect_data.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/noir-structs/tx_effect_data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEzE;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,GAAG,mBAAmB,CAAC,GAAG;IACxF,UAAU,EAAE,cAAc,CAAC;IAC3B,iBAAiB,EAAE,oBAAoB,EAAE,CAAC;CAC3C,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wire form of a {@link TxEffect} as the `getTxEffect` oracle returns it: identical to the domain type except its logs
|
|
3
|
+
* are flattened to their Noir layout. Keeping the conversion in the handler lets the `TX_EFFECT` mapping stay purely
|
|
4
|
+
* structural.
|
|
5
|
+
*/ export { };
|
|
@@ -3,14 +3,9 @@ import type { BlockHeader } from '@aztec/stdlib/tx';
|
|
|
3
3
|
/**
|
|
4
4
|
* TypeScript counterpart of utility_context.nr. Used only as a return value for the utilityGetUtilityContext oracle.
|
|
5
5
|
*/
|
|
6
|
-
export
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
* The order of the fields has to be the same as the order of the fields in the utility_context.nr.
|
|
13
|
-
*/
|
|
14
|
-
toNoirRepresentation(): (string | string[])[];
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbGl0eV9jb250ZXh0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL25vaXItc3RydWN0cy91dGlsaXR5X2NvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFcEQ7O0dBRUc7QUFDSCxxQkFBYSxjQUFjO2FBRVAsV0FBVyxFQUFFLFdBQVc7YUFDeEIsZUFBZSxFQUFFLFlBQVk7SUFGL0MsWUFDa0IsV0FBVyxFQUFFLFdBQVcsRUFDeEIsZUFBZSxFQUFFLFlBQVksRUFDM0M7SUFFSjs7O09BR0c7SUFDSSxvQkFBb0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBSW5EO0NBQ0YifQ==
|
|
6
|
+
export type UtilityContext = {
|
|
7
|
+
blockHeader: BlockHeader;
|
|
8
|
+
contractAddress: AztecAddress;
|
|
9
|
+
msgSender: AztecAddress;
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbGl0eV9jb250ZXh0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL25vaXItc3RydWN0cy91dGlsaXR5X2NvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFcEQ7O0dBRUc7QUFDSCxNQUFNLE1BQU0sY0FBYyxHQUFHO0lBQzNCLFdBQVcsRUFBRSxXQUFXLENBQUM7SUFDekIsZUFBZSxFQUFFLFlBQVksQ0FBQztJQUM5QixTQUFTLEVBQUUsWUFBWSxDQUFDO0NBQ3pCLENBQUMifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utility_context.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/noir-structs/utility_context.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utility_context.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/noir-structs/utility_context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,WAAW,EAAE,WAAW,CAAC;IACzB,eAAe,EAAE,YAAY,CAAC;IAC9B,SAAS,EAAE,YAAY,CAAC;CACzB,CAAC"}
|
|
@@ -1,22 +1,3 @@
|
|
|
1
|
-
import { toACVMField } from '@aztec/simulator/client';
|
|
2
1
|
/**
|
|
3
2
|
* TypeScript counterpart of utility_context.nr. Used only as a return value for the utilityGetUtilityContext oracle.
|
|
4
|
-
*/ export
|
|
5
|
-
blockHeader;
|
|
6
|
-
contractAddress;
|
|
7
|
-
constructor(blockHeader, contractAddress){
|
|
8
|
-
this.blockHeader = blockHeader;
|
|
9
|
-
this.contractAddress = contractAddress;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Returns a representation of the utility context as expected by intrinsic Noir deserialization.
|
|
13
|
-
* The order of the fields has to be the same as the order of the fields in the utility_context.nr.
|
|
14
|
-
*/ toNoirRepresentation() {
|
|
15
|
-
// TODO(#12874): remove the stupid as string conversion by modifying ForeignCallOutput type in acvm.js
|
|
16
|
-
const blockHeaderFields = this.blockHeader.toFields().map(toACVMField);
|
|
17
|
-
return [
|
|
18
|
-
...blockHeaderFields,
|
|
19
|
-
this.contractAddress.toString()
|
|
20
|
-
];
|
|
21
|
-
}
|
|
22
|
-
}
|
|
3
|
+
*/ export { };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ACIRCallback } from '@aztec/simulator/client';
|
|
2
|
+
import type { IMiscOracle, IPrivateExecutionOracle, IUtilityExecutionOracle } from './interfaces.js';
|
|
3
|
+
export declare class UnavailableOracleError extends Error {
|
|
4
|
+
constructor(oracleName: string);
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Builds an ACIR callback from the oracle registry and a handler object.
|
|
8
|
+
*
|
|
9
|
+
* Each oracle call is dispatched by matching the oracle name against the registry for serialization, parsing the
|
|
10
|
+
* `aztec_{scope}_{methodName}` convention to resolve the handler, and calling the method directly. Unknown oracle
|
|
11
|
+
* names produce enhanced error messages based on the contract's oracle version.
|
|
12
|
+
*/
|
|
13
|
+
export declare function buildACIRCallback(handler: OracleHandler): ACIRCallback;
|
|
14
|
+
type OracleHandler = IMiscOracle & (IUtilityExecutionOracle | IPrivateExecutionOracle);
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNpcl9jYWxsYmFjay5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRyYWN0X2Z1bmN0aW9uX3NpbXVsYXRvci9vcmFjbGUvYWNpcl9jYWxsYmFjay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQWEsTUFBTSx5QkFBeUIsQ0FBQztBQUd2RSxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsdUJBQXVCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUdyRyxxQkFBYSxzQkFBdUIsU0FBUSxLQUFLO0lBQy9DLFlBQVksVUFBVSxFQUFFLE1BQU0sRUFFN0I7Q0FDRjtBQUVEOzs7Ozs7R0FNRztBQUNILHdCQUFnQixpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsYUFBYSxHQUFHLFlBQVksQ0E0RHRFO0FBRUQsS0FBSyxhQUFhLEdBQUcsV0FBVyxHQUFHLENBQUMsdUJBQXVCLEdBQUcsdUJBQXVCLENBQUMsQ0FBQyJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acir_callback.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/acir_callback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAa,MAAM,yBAAyB,CAAC;AAGvE,OAAO,KAAK,EAAE,WAAW,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAGrG,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,YAAY,UAAU,EAAE,MAAM,EAE7B;CACF;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,aAAa,GAAG,YAAY,CA4DtE;AAED,KAAK,aAAa,GAAG,WAAW,GAAG,CAAC,uBAAuB,GAAG,uBAAuB,CAAC,CAAC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { ORACLE_VERSION_MAJOR, ORACLE_VERSION_MINOR } from '../../oracle_version.js';
|
|
2
|
+
import { ORACLE_REGISTRY } from './oracle_registry.js';
|
|
3
|
+
export class UnavailableOracleError extends Error {
|
|
4
|
+
constructor(oracleName){
|
|
5
|
+
super(`${oracleName} oracles not available with the current handler`);
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Builds an ACIR callback from the oracle registry and a handler object.
|
|
10
|
+
*
|
|
11
|
+
* Each oracle call is dispatched by matching the oracle name against the registry for serialization, parsing the
|
|
12
|
+
* `aztec_{scope}_{methodName}` convention to resolve the handler, and calling the method directly. Unknown oracle
|
|
13
|
+
* names produce enhanced error messages based on the contract's oracle version.
|
|
14
|
+
*/ export function buildACIRCallback(handler) {
|
|
15
|
+
const target = {};
|
|
16
|
+
for (const [oracleKey, entry] of Object.entries(ORACLE_REGISTRY)){
|
|
17
|
+
const match = oracleKey.match(/^aztec_(\w+?)_(.+)$/);
|
|
18
|
+
if (!match) {
|
|
19
|
+
throw new Error(`Oracle "${oracleKey}" does not follow the aztec_{scope}_{method} convention`);
|
|
20
|
+
}
|
|
21
|
+
const [, scope, methodName] = match;
|
|
22
|
+
target[oracleKey] = async (...inputs)=>{
|
|
23
|
+
assertHandlerSupportsScope(handler, scope);
|
|
24
|
+
const named = entry.deserializeParams(inputs);
|
|
25
|
+
const positional = named.map((p)=>p.value);
|
|
26
|
+
const result = await handler[methodName](...positional);
|
|
27
|
+
return entry.serializeReturn(result);
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
return new Proxy(target, {
|
|
31
|
+
get (obj, prop) {
|
|
32
|
+
if (prop in obj) {
|
|
33
|
+
return obj[prop];
|
|
34
|
+
}
|
|
35
|
+
return ()=>{
|
|
36
|
+
let contractVersion = undefined;
|
|
37
|
+
if ('nonOracleFunctionGetContractOracleVersion' in handler) {
|
|
38
|
+
contractVersion = handler.nonOracleFunctionGetContractOracleVersion();
|
|
39
|
+
}
|
|
40
|
+
if (!contractVersion) {
|
|
41
|
+
throw new Error(`Oracle '${prop}' not found and the contract's oracle version is unknown (the version check oracle ` + `was not called before '${prop}'). This usually means the contract was not compiled with the ` + `#[aztec] macro, which injects the version check as the first oracle call in every private/utility ` + `external function. If you're using a custom entry point, ensure assert_compatible_oracle_version() ` + `is called before any other oracle calls. See https://docs.aztec.network/errors/8`);
|
|
42
|
+
} else if (contractVersion.minor > ORACLE_VERSION_MINOR) {
|
|
43
|
+
throw new Error(`Oracle '${prop}' not found.` + ` This usually means the contract requires a newer private execution environment than you have.` + ` Upgrade your private execution environment to a compatible version. The contract was compiled with` + ` Aztec.nr oracle version ${contractVersion.major}.${contractVersion.minor}, but this private` + ` execution environment only supports up to ${ORACLE_VERSION_MAJOR}.${ORACLE_VERSION_MINOR}.` + ` See https://docs.aztec.network/errors/8`);
|
|
44
|
+
} else {
|
|
45
|
+
throw new Error(`Oracle '${prop}' not found.` + ` The contract's oracle version (${contractVersion.major}.${contractVersion.minor}) is compatible` + ` with this private execution environment (${ORACLE_VERSION_MAJOR}.${ORACLE_VERSION_MINOR}), so all` + ` standard oracles should be available. This could mean the contract was compiled against a modified` + ` version of Aztec.nr, or that it references an oracle that does not exist.` + ` See https://docs.aztec.network/errors/8`);
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
function assertHandlerSupportsScope(handler, scope) {
|
|
52
|
+
switch(scope){
|
|
53
|
+
case 'misc':
|
|
54
|
+
if (!('isMisc' in handler)) {
|
|
55
|
+
throw new UnavailableOracleError('Misc');
|
|
56
|
+
}
|
|
57
|
+
break;
|
|
58
|
+
case 'utl':
|
|
59
|
+
if (!('isUtility' in handler)) {
|
|
60
|
+
throw new UnavailableOracleError('Utility');
|
|
61
|
+
}
|
|
62
|
+
break;
|
|
63
|
+
case 'prv':
|
|
64
|
+
if (!('isPrivate' in handler)) {
|
|
65
|
+
throw new UnavailableOracleError('Private');
|
|
66
|
+
}
|
|
67
|
+
break;
|
|
68
|
+
default:
|
|
69
|
+
throw new Error(`Unknown oracle scope: ${scope}`);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
@@ -1,14 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
export * from './oracle.js';
|
|
1
|
+
export * from './acir_callback.js';
|
|
3
2
|
export * from './interfaces.js';
|
|
4
|
-
|
|
5
|
-
* A conditional type that takes a type `T` and returns a union of its method names.
|
|
6
|
-
*/
|
|
7
|
-
type MethodNames<T> = {
|
|
8
|
-
[K in keyof T]: T[K] extends (...args: any[]) => any ? K : never;
|
|
9
|
-
}[keyof T];
|
|
10
|
-
/**
|
|
11
|
-
* Available oracle function names.
|
|
12
|
-
*/
|
|
13
|
-
export type ORACLE_NAMES = MethodNames<Oracle>;
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250cmFjdF9mdW5jdGlvbl9zaW11bGF0b3Ivb3JhY2xlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUUxQyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGlCQUFpQixDQUFDO0FBRWhDOztHQUVHO0FBQ0gsS0FBSyxXQUFXLENBQUMsQ0FBQyxJQUFJO0tBQ25CLENBQUMsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksRUFBRSxHQUFHLEVBQUUsS0FBSyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEtBQUs7Q0FDakUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBRVg7O0dBRUc7QUFDSCxNQUFNLE1BQU0sWUFBWSxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyJ9
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250cmFjdF9mdW5jdGlvbl9zaW11bGF0b3Ivb3JhY2xlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxpQkFBaUIsQ0FBQyJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './
|
|
1
|
+
export * from './acir_callback.js';
|
|
2
2
|
export * from './interfaces.js';
|