@aztec/pxe 0.0.1-commit.c2eed6949 → 0.0.1-commit.c52d6e7
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 +11 -118
- 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 +20 -0
- package/dest/bin/oracle_version_helpers.d.ts.map +1 -0
- package/dest/bin/oracle_version_helpers.js +25 -0
- package/dest/block_synchronizer/block_stream_source.d.ts +10 -0
- package/dest/block_synchronizer/block_stream_source.d.ts.map +1 -0
- package/dest/block_synchronizer/block_stream_source.js +37 -0
- package/dest/block_synchronizer/block_synchronizer.d.ts +22 -16
- package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -1
- package/dest/block_synchronizer/block_synchronizer.js +71 -28
- package/dest/config/index.d.ts +8 -1
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +13 -14
- package/dest/config/package_info.js +1 -1
- package/dest/contract/contract_class_service.d.ts +24 -0
- package/dest/contract/contract_class_service.d.ts.map +1 -0
- package/dest/contract/contract_class_service.js +36 -0
- package/dest/contract/contract_sync_service.d.ts +48 -0
- package/dest/contract/contract_sync_service.d.ts.map +1 -0
- package/dest/contract/contract_sync_service.js +116 -0
- package/dest/contract/helpers.d.ts +7 -0
- package/dest/contract/helpers.d.ts.map +1 -0
- package/dest/contract/helpers.js +20 -0
- package/dest/contract/skip_sync_contracts.d.ts +11 -0
- package/dest/contract/skip_sync_contracts.d.ts.map +1 -0
- package/dest/contract/skip_sync_contracts.js +18 -0
- package/dest/contract_function_simulator/anchored_contract_data.d.ts +36 -0
- package/dest/contract_function_simulator/anchored_contract_data.d.ts.map +1 -0
- package/dest/contract_function_simulator/anchored_contract_data.js +54 -0
- package/dest/contract_function_simulator/contract_function_simulator.d.ts +27 -28
- package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
- package/dest/contract_function_simulator/contract_function_simulator.js +86 -59
- package/dest/contract_function_simulator/ephemeral_array_service.d.ts +28 -0
- package/dest/contract_function_simulator/ephemeral_array_service.d.ts.map +1 -0
- package/dest/contract_function_simulator/ephemeral_array_service.js +78 -0
- package/dest/contract_function_simulator/execution_note_cache.d.ts +4 -10
- package/dest/contract_function_simulator/execution_note_cache.d.ts.map +1 -1
- package/dest/contract_function_simulator/execution_note_cache.js +8 -28
- 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 +26 -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 +31 -0
- package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts +19 -10
- package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts.map +1 -1
- package/dest/contract_function_simulator/noir-structs/log_retrieval_request.js +12 -24
- package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts +11 -9
- package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts.map +1 -1
- package/dest/contract_function_simulator/noir-structs/log_retrieval_response.js +2 -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/pending_tagged_log.d.ts +11 -0
- package/dest/contract_function_simulator/noir-structs/pending_tagged_log.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/pending_tagged_log.js +4 -0
- package/dest/contract_function_simulator/noir-structs/provided_secret.d.ts +8 -0
- package/dest/contract_function_simulator/noir-structs/provided_secret.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/provided_secret.js +1 -0
- package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.d.ts +28 -0
- package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/resolved_tagging_strategy.js +50 -0
- package/dest/contract_function_simulator/noir-structs/resolved_tx.d.ts +19 -0
- package/dest/contract_function_simulator/noir-structs/resolved_tx.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/resolved_tx.js +9 -0
- package/dest/contract_function_simulator/noir-structs/tx_effect_data.d.ts +15 -0
- package/dest/contract_function_simulator/noir-structs/tx_effect_data.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/tx_effect_data.js +5 -0
- package/dest/contract_function_simulator/noir-structs/utility_context.d.ts +6 -11
- package/dest/contract_function_simulator/noir-structs/utility_context.d.ts.map +1 -1
- package/dest/contract_function_simulator/noir-structs/utility_context.js +1 -20
- package/dest/contract_function_simulator/oracle/acir_callback.d.ts +21 -0
- package/dest/contract_function_simulator/oracle/acir_callback.d.ts.map +1 -0
- package/dest/contract_function_simulator/oracle/acir_callback.js +115 -0
- package/dest/contract_function_simulator/oracle/index.d.ts +2 -13
- package/dest/contract_function_simulator/oracle/index.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/index.js +1 -1
- package/dest/contract_function_simulator/oracle/interfaces.d.ts +15 -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/legacy_oracle_registry.d.ts +39 -0
- package/dest/contract_function_simulator/oracle/legacy_oracle_registry.d.ts.map +1 -0
- package/dest/contract_function_simulator/oracle/legacy_oracle_registry.js +107 -0
- package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts +3 -14
- package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.js +1 -24
- package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts +2 -2
- package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/note_packing_utils.js +2 -2
- package/dest/contract_function_simulator/oracle/oracle_registry.d.ts +139 -0
- package/dest/contract_function_simulator/oracle/oracle_registry.d.ts.map +1 -0
- package/dest/contract_function_simulator/oracle/oracle_registry.js +1016 -0
- package/dest/contract_function_simulator/oracle/oracle_type_mappings.d.ts +274 -0
- package/dest/contract_function_simulator/oracle/oracle_type_mappings.d.ts.map +1 -0
- package/dest/contract_function_simulator/oracle/oracle_type_mappings.js +1253 -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 +52 -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 +197 -65
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +164 -77
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +607 -193
- package/dest/contract_function_simulator/pick_notes.d.ts +1 -1
- package/dest/contract_function_simulator/pick_notes.d.ts.map +1 -1
- package/dest/contract_function_simulator/pick_notes.js +20 -3
- package/dest/contract_function_simulator/transient_array_service.d.ts +31 -0
- package/dest/contract_function_simulator/transient_array_service.d.ts.map +1 -0
- package/dest/contract_function_simulator/transient_array_service.js +62 -0
- package/dest/contract_logging.d.ts +9 -4
- package/dest/contract_logging.d.ts.map +1 -1
- package/dest/contract_logging.js +21 -6
- package/dest/debug/pxe_debug_utils.d.ts +4 -9
- package/dest/debug/pxe_debug_utils.d.ts.map +1 -1
- package/dest/debug/pxe_debug_utils.js +0 -6
- package/dest/entrypoints/client/bundle/index.d.ts +2 -2
- package/dest/entrypoints/client/bundle/index.d.ts.map +1 -1
- package/dest/entrypoints/client/bundle/index.js +1 -1
- package/dest/entrypoints/client/bundle/utils.d.ts +2 -2
- package/dest/entrypoints/client/bundle/utils.d.ts.map +1 -1
- package/dest/entrypoints/client/bundle/utils.js +27 -8
- package/dest/entrypoints/client/lazy/index.d.ts +2 -2
- package/dest/entrypoints/client/lazy/index.d.ts.map +1 -1
- package/dest/entrypoints/client/lazy/index.js +1 -1
- package/dest/entrypoints/client/lazy/utils.d.ts +2 -2
- package/dest/entrypoints/client/lazy/utils.d.ts.map +1 -1
- package/dest/entrypoints/client/lazy/utils.js +27 -8
- package/dest/entrypoints/client/store.d.ts +14 -0
- package/dest/entrypoints/client/store.d.ts.map +1 -0
- package/dest/entrypoints/client/store.js +42 -0
- package/dest/entrypoints/pxe_creation_options.d.ts +16 -2
- package/dest/entrypoints/pxe_creation_options.d.ts.map +1 -1
- package/dest/entrypoints/pxe_creation_options.js +3 -1
- package/dest/entrypoints/server/index.d.ts +7 -4
- package/dest/entrypoints/server/index.d.ts.map +1 -1
- package/dest/entrypoints/server/index.js +5 -3
- package/dest/entrypoints/server/store.d.ts +18 -0
- package/dest/entrypoints/server/store.d.ts.map +1 -0
- package/dest/entrypoints/server/store.js +28 -0
- package/dest/entrypoints/server/utils.d.ts +4 -3
- package/dest/entrypoints/server/utils.d.ts.map +1 -1
- package/dest/entrypoints/server/utils.js +28 -8
- 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/events/event_service.d.ts +21 -5
- package/dest/events/event_service.d.ts.map +1 -1
- package/dest/events/event_service.js +50 -17
- package/dest/events/private_event_filter_validator.d.ts +3 -2
- package/dest/events/private_event_filter_validator.d.ts.map +1 -1
- package/dest/events/private_event_filter_validator.js +15 -0
- package/dest/hooks/authorize_utility_call.d.ts +41 -0
- package/dest/hooks/authorize_utility_call.d.ts.map +1 -0
- package/dest/hooks/authorize_utility_call.js +4 -0
- package/dest/hooks/execution_hooks.d.ts +62 -0
- package/dest/hooks/execution_hooks.d.ts.map +1 -0
- package/dest/hooks/execution_hooks.js +9 -0
- package/dest/hooks/index.d.ts +5 -0
- package/dest/hooks/index.d.ts.map +1 -0
- package/dest/hooks/index.js +2 -0
- package/dest/hooks/resolve_custom_request.d.ts +23 -0
- package/dest/hooks/resolve_custom_request.d.ts.map +1 -0
- package/dest/hooks/resolve_custom_request.js +3 -0
- package/dest/hooks/resolve_tagging_secret_strategy.d.ts +50 -0
- package/dest/hooks/resolve_tagging_secret_strategy.d.ts.map +1 -0
- package/dest/hooks/resolve_tagging_secret_strategy.js +3 -0
- package/dest/logs/log_service.d.ts +21 -11
- package/dest/logs/log_service.d.ts.map +1 -1
- package/dest/logs/log_service.js +180 -82
- package/dest/messages/tx_resolver_service.d.ts +28 -0
- package/dest/messages/tx_resolver_service.d.ts.map +1 -0
- package/dest/messages/tx_resolver_service.js +61 -0
- package/dest/node/benchmarked_node.d.ts +20 -0
- package/dest/node/benchmarked_node.d.ts.map +1 -0
- package/dest/node/benchmarked_node.js +94 -0
- package/dest/node/caching_aztec_node.d.ts +24 -0
- package/dest/node/caching_aztec_node.d.ts.map +1 -0
- package/dest/node/caching_aztec_node.js +267 -0
- package/dest/notes/note_service.d.ts +34 -7
- package/dest/notes/note_service.d.ts.map +1 -1
- package/dest/notes/note_service.js +81 -57
- package/dest/notes_filter.d.ts +2 -3
- package/dest/notes_filter.d.ts.map +1 -1
- package/dest/oracle_version.d.ts +4 -3
- package/dest/oracle_version.d.ts.map +1 -1
- package/dest/oracle_version.js +20 -10
- package/dest/private_kernel/batch_planner.d.ts +47 -0
- package/dest/private_kernel/batch_planner.d.ts.map +1 -0
- package/dest/private_kernel/batch_planner.js +104 -0
- package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts +1 -1
- package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts.map +1 -1
- package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.js +7 -3
- 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 +203 -89
- package/dest/private_kernel/private_kernel_oracle.d.ts +12 -10
- package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -1
- package/dest/private_kernel/private_kernel_oracle.js +40 -26
- package/dest/pxe.d.ts +167 -55
- package/dest/pxe.d.ts.map +1 -1
- package/dest/pxe.js +366 -216
- package/dest/storage/allowed_scopes.d.ts +6 -0
- package/dest/storage/allowed_scopes.d.ts.map +1 -0
- package/dest/storage/allowed_scopes.js +7 -0
- package/dest/storage/anchor_block_store/anchor_block_store.d.ts +9 -6
- package/dest/storage/anchor_block_store/anchor_block_store.d.ts.map +1 -1
- package/dest/storage/anchor_block_store/anchor_block_store.js +9 -7
- package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.d.ts +42 -0
- package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.d.ts.map +1 -0
- package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.js +93 -0
- package/dest/storage/backwards_compatibility_tests/schema_tests.d.ts +15 -0
- package/dest/storage/backwards_compatibility_tests/schema_tests.d.ts.map +1 -0
- package/dest/storage/backwards_compatibility_tests/schema_tests.js +671 -0
- package/dest/storage/backwards_compatibility_tests/store_spy.d.ts +19 -0
- package/dest/storage/backwards_compatibility_tests/store_spy.d.ts.map +1 -0
- package/dest/storage/backwards_compatibility_tests/store_spy.js +63 -0
- package/dest/storage/capsule_store/capsule_service.d.ts +21 -0
- package/dest/storage/capsule_store/capsule_service.d.ts.map +1 -0
- package/dest/storage/capsule_store/capsule_service.js +47 -0
- package/dest/storage/capsule_store/capsule_store.d.ts +9 -9
- package/dest/storage/capsule_store/capsule_store.d.ts.map +1 -1
- package/dest/storage/capsule_store/capsule_store.js +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 +27 -24
- package/dest/storage/contract_store/contract_store.d.ts.map +1 -1
- package/dest/storage/contract_store/contract_store.js +71 -99
- 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 +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/store_identity.d.ts +35 -0
- package/dest/storage/store_identity.d.ts.map +1 -0
- package/dest/storage/store_identity.js +44 -0
- package/dest/storage/tagging_store/index.d.ts +2 -2
- package/dest/storage/tagging_store/index.d.ts.map +1 -1
- package/dest/storage/tagging_store/index.js +1 -1
- package/dest/storage/tagging_store/recipient_tagging_store.d.ts +6 -6
- package/dest/storage/tagging_store/recipient_tagging_store.d.ts.map +1 -1
- package/dest/storage/tagging_store/sender_tagging_store.d.ts +44 -13
- package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -1
- package/dest/storage/tagging_store/sender_tagging_store.js +84 -32
- package/dest/storage/tagging_store/tagging_secret_sources_store.d.ts +51 -0
- package/dest/storage/tagging_store/tagging_secret_sources_store.d.ts.map +1 -0
- package/dest/storage/tagging_store/tagging_secret_sources_store.js +105 -0
- package/dest/tagging/constants.d.ts +11 -2
- package/dest/tagging/constants.d.ts.map +1 -1
- package/dest/tagging/constants.js +38 -10
- package/dest/tagging/get_all_logs_by_tags.d.ts +55 -10
- package/dest/tagging/get_all_logs_by_tags.d.ts.map +1 -1
- package/dest/tagging/get_all_logs_by_tags.js +53 -35
- package/dest/tagging/index.d.ts +7 -6
- package/dest/tagging/index.d.ts.map +1 -1
- package/dest/tagging/index.js +6 -5
- package/dest/tagging/persist_sender_tagging_index_ranges.d.ts +29 -0
- package/dest/tagging/persist_sender_tagging_index_ranges.d.ts.map +1 -0
- package/dest/tagging/persist_sender_tagging_index_ranges.js +42 -0
- package/dest/tagging/recipient_sync/sync_tagged_private_logs.d.ts +74 -0
- package/dest/tagging/recipient_sync/sync_tagged_private_logs.d.ts.map +1 -0
- package/dest/tagging/recipient_sync/sync_tagged_private_logs.js +234 -0
- package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts +3 -3
- package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts.map +1 -1
- package/dest/tagging/reconcile_tagging_index_ranges.d.ts +36 -0
- package/dest/tagging/reconcile_tagging_index_ranges.d.ts.map +1 -0
- package/dest/tagging/reconcile_tagging_index_ranges.js +74 -0
- package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts +8 -6
- package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts.map +1 -1
- package/dest/tagging/sender_sync/sync_sender_tagging_indexes.js +24 -27
- package/dest/tagging/sender_sync/utils/classify_pending_txs.d.ts +22 -0
- package/dest/tagging/sender_sync/utils/classify_pending_txs.d.ts.map +1 -0
- package/dest/tagging/sender_sync/utils/classify_pending_txs.js +61 -0
- package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts +17 -7
- 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 +37 -36
- package/dest/tagging/sender_sync/utils/resolve_pending_txs.d.ts +29 -0
- package/dest/tagging/sender_sync/utils/resolve_pending_txs.d.ts.map +1 -0
- package/dest/tagging/sender_sync/utils/resolve_pending_txs.js +41 -0
- package/dest/tagging/sender_sync/utils/test_utils.d.ts +16 -0
- package/dest/tagging/sender_sync/utils/test_utils.d.ts.map +1 -0
- package/dest/tagging/sender_sync/utils/test_utils.js +24 -0
- package/dest/tagging/testing/tag_query_test_utils.d.ts +6 -0
- package/dest/tagging/testing/tag_query_test_utils.d.ts.map +1 -0
- package/dest/tagging/testing/tag_query_test_utils.js +10 -0
- package/package.json +20 -17
- package/src/bin/check_oracle_version.ts +10 -143
- package/src/bin/index.ts +1 -0
- package/src/bin/oracle_version_helpers.ts +30 -0
- package/src/block_synchronizer/block_stream_source.ts +42 -0
- package/src/block_synchronizer/block_synchronizer.ts +86 -40
- package/src/config/index.ts +15 -8
- package/src/config/package_info.ts +1 -1
- package/src/contract/contract_class_service.ts +45 -0
- package/src/contract/contract_sync_service.ts +176 -0
- package/src/contract/helpers.ts +35 -0
- package/src/contract/skip_sync_contracts.ts +23 -0
- package/src/contract_function_simulator/anchored_contract_data.ts +74 -0
- package/src/contract_function_simulator/contract_function_simulator.ts +140 -75
- package/src/contract_function_simulator/ephemeral_array_service.ts +110 -0
- package/src/contract_function_simulator/execution_note_cache.ts +8 -29
- package/src/contract_function_simulator/execution_tagging_index_cache.ts +5 -9
- package/src/contract_function_simulator/index.ts +89 -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 +64 -0
- package/src/contract_function_simulator/noir-structs/log_retrieval_request.ts +27 -20
- package/src/contract_function_simulator/noir-structs/log_retrieval_response.ts +14 -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/pending_tagged_log.ts +12 -0
- package/src/contract_function_simulator/noir-structs/provided_secret.ts +5 -0
- package/src/contract_function_simulator/noir-structs/resolved_tagging_strategy.ts +66 -0
- package/src/contract_function_simulator/noir-structs/resolved_tx.ts +19 -0
- package/src/contract_function_simulator/noir-structs/tx_effect_data.ts +16 -0
- package/src/contract_function_simulator/noir-structs/utility_context.ts +5 -17
- package/src/contract_function_simulator/oracle/acir_callback.ts +154 -0
- package/src/contract_function_simulator/oracle/index.ts +1 -15
- package/src/contract_function_simulator/oracle/interfaces.ts +11 -176
- package/src/contract_function_simulator/oracle/legacy_oracle_registry.ts +147 -0
- package/src/contract_function_simulator/oracle/message_load_oracle_inputs.ts +6 -21
- package/src/contract_function_simulator/oracle/note_packing_utils.ts +3 -3
- package/src/contract_function_simulator/oracle/oracle_registry.ts +710 -0
- package/src/contract_function_simulator/oracle/oracle_type_mappings.ts +1067 -0
- package/src/contract_function_simulator/oracle/private_execution.ts +3 -4
- package/src/contract_function_simulator/oracle/private_execution_oracle.ts +247 -83
- package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +890 -305
- package/src/contract_function_simulator/pick_notes.ts +22 -3
- package/src/contract_function_simulator/transient_array_service.ts +91 -0
- package/src/contract_logging.ts +18 -5
- package/src/debug/pxe_debug_utils.ts +4 -12
- package/src/entrypoints/client/bundle/index.ts +1 -1
- package/src/entrypoints/client/bundle/utils.ts +32 -8
- package/src/entrypoints/client/lazy/index.ts +1 -1
- package/src/entrypoints/client/lazy/utils.ts +32 -8
- package/src/entrypoints/client/store.ts +54 -0
- package/src/entrypoints/pxe_creation_options.ts +21 -1
- package/src/entrypoints/server/index.ts +7 -3
- package/src/entrypoints/server/store.ts +47 -0
- package/src/entrypoints/server/utils.ts +45 -14
- package/src/error_enriching.ts +27 -11
- package/src/events/event_service.ts +84 -26
- package/src/events/private_event_filter_validator.ts +21 -1
- package/src/hooks/authorize_utility_call.ts +44 -0
- package/src/hooks/execution_hooks.ts +68 -0
- package/src/hooks/index.ts +13 -0
- package/src/hooks/resolve_custom_request.ts +24 -0
- package/src/hooks/resolve_tagging_secret_strategy.ts +60 -0
- package/src/logs/log_service.ts +225 -145
- package/src/messages/tx_resolver_service.ts +80 -0
- package/src/node/benchmarked_node.ts +140 -0
- package/src/node/caching_aztec_node.ts +406 -0
- package/src/notes/note_service.ts +126 -86
- package/src/notes_filter.ts +1 -3
- package/src/oracle_version.ts +20 -10
- package/src/private_kernel/batch_planner.ts +168 -0
- package/src/private_kernel/hints/private_kernel_reset_private_inputs_builder.ts +12 -2
- package/src/private_kernel/hints/test_utils.ts +3 -10
- package/src/private_kernel/private_kernel_execution_prover.ts +335 -121
- package/src/private_kernel/private_kernel_oracle.ts +58 -29
- package/src/pxe.ts +565 -249
- package/src/storage/allowed_scopes.ts +14 -0
- package/src/storage/anchor_block_store/anchor_block_store.ts +9 -7
- package/src/storage/backwards_compatibility_tests/__snapshots__/AddressStore.json +22 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/AnchorBlockStore.json +3 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/CapsuleStore.json +16 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/ContractStore.json +28 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/FactStore.json +40 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/KeyStore.json +52 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/L2TipsKVStore.json +40 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/NoteStore.json +56 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/PrivateEventStore.json +44 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/RecipientTaggingStore.json +26 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/SenderTaggingStore.json +30 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/TaggingSecretSourcesStore.json +30 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json +117 -0
- package/src/storage/backwards_compatibility_tests/kv_store_snapshot.ts +122 -0
- package/src/storage/backwards_compatibility_tests/schema_tests.ts +803 -0
- package/src/storage/backwards_compatibility_tests/store_spy.ts +73 -0
- package/src/storage/capsule_store/capsule_service.ts +85 -0
- package/src/storage/capsule_store/capsule_store.ts +44 -26
- package/src/storage/capsule_store/index.ts +1 -0
- package/src/storage/contract_store/contract_store.ts +98 -125
- 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 +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/store_identity.ts +72 -0
- package/src/storage/tagging_store/index.ts +1 -1
- package/src/storage/tagging_store/recipient_tagging_store.ts +5 -9
- package/src/storage/tagging_store/sender_tagging_store.ts +118 -46
- package/src/storage/tagging_store/tagging_secret_sources_store.ts +138 -0
- package/src/tagging/constants.ts +42 -10
- package/src/tagging/get_all_logs_by_tags.ts +113 -49
- package/src/tagging/index.ts +11 -5
- package/src/tagging/persist_sender_tagging_index_ranges.ts +57 -0
- package/src/tagging/recipient_sync/sync_tagged_private_logs.ts +355 -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 +30 -38
- package/src/tagging/sender_sync/utils/classify_pending_txs.ts +91 -0
- package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +48 -43
- package/src/tagging/sender_sync/utils/resolve_pending_txs.ts +64 -0
- package/src/tagging/sender_sync/utils/test_utils.ts +46 -0
- package/src/tagging/testing/tag_query_test_utils.ts +11 -0
- package/dest/access_scopes.d.ts +0 -9
- package/dest/access_scopes.d.ts.map +0 -1
- package/dest/access_scopes.js +0 -6
- package/dest/contract_function_simulator/benchmarked_node.d.ts +0 -9
- package/dest/contract_function_simulator/benchmarked_node.d.ts.map +0 -1
- package/dest/contract_function_simulator/benchmarked_node.js +0 -77
- package/dest/contract_function_simulator/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/contract_function_simulator/proxied_contract_data_source.d.ts +0 -6
- package/dest/contract_function_simulator/proxied_contract_data_source.d.ts.map +0 -1
- package/dest/contract_function_simulator/proxied_contract_data_source.js +0 -80
- package/dest/contract_sync/contract_sync_service.d.ts +0 -45
- package/dest/contract_sync/contract_sync_service.d.ts.map +0 -1
- package/dest/contract_sync/contract_sync_service.js +0 -114
- package/dest/contract_sync/helpers.d.ts +0 -29
- package/dest/contract_sync/helpers.d.ts.map +0 -1
- package/dest/contract_sync/helpers.js +0 -55
- package/dest/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/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts +0 -12
- package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts.map +0 -1
- package/dest/tagging/sender_sync/utils/get_status_change_of_pending.js +0 -39
- package/src/access_scopes.ts +0 -9
- package/src/contract_function_simulator/benchmarked_node.ts +0 -103
- 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/contract_function_simulator/proxied_contract_data_source.ts +0 -83
- package/src/contract_sync/contract_sync_service.ts +0 -181
- package/src/contract_sync/helpers.ts +0 -98
- 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
- package/src/tagging/sender_sync/utils/get_status_change_of_pending.ts +0 -51
|
@@ -1,15 +1,35 @@
|
|
|
1
|
+
export { ORACLE_REGISTRY, makeEntry, type NamedValue, type OracleRegistryEntry, type ParamTypes, } from './oracle/oracle_registry.js';
|
|
2
|
+
export { ALIAS, ARRAY, AZTEC_ADDRESS, BIGINT, BLOCK_HASH, BLOCK_NUMBER, BOOL, BOUNDED_VEC, U8, CONTRACT_INSTANCE, DELIVERY_MODE, EPHEMERAL_ARRAY, ETH_ADDRESS, EVENT_VALIDATION_REQUEST, FIELD, FIXED_ARRAY, FUNCTION_SELECTOR, LEAF, LEAF_INDEX, LOG_RETRIEVAL_REQUEST, LOG_RETRIEVAL_RESPONSE, MEMBERSHIP_WITNESS, NOTE_SELECTOR, NOTE_VALIDATION_REQUEST, OPTION, PENDING_TAGGED_LOG, POINT, PROVIDED_SECRET, SCALAR, SLOT_NUMBER, STR, STRUCT, U32, U64, U128, tryFieldWidth, isArrayMapping, isBoundedVecMapping, isEphemeralArrayMapping, isFixedArrayMapping, isFixedBoundedVecMapping, isOptionMapping, isStructMapping, type ArrayMapping, type BoundedVecMapping, type CompositeMapping, type EphemeralArrayMapping, type FixedArrayMapping, type FixedBoundedVecMapping, type InputSlot, type MaybePromise, type OptionMapping, type OutputSlot, type SlotShape, type StructField, type StructMapping, type TypeMapping, } from './oracle/oracle_type_mappings.js';
|
|
1
3
|
export { ExecutionNoteCache } from './execution_note_cache.js';
|
|
2
4
|
export { ExecutionTaggingIndexCache } from './execution_tagging_index_cache.js';
|
|
3
5
|
export { HashedValuesCache } from './hashed_values_cache.js';
|
|
4
6
|
export { pickNotes } from './pick_notes.js';
|
|
5
|
-
export type {
|
|
6
|
-
export {
|
|
7
|
-
export {
|
|
7
|
+
export type { IMiscOracle, IUtilityExecutionOracle, IPrivateExecutionOracle } from './oracle/interfaces.js';
|
|
8
|
+
export type { FactCollection } from './noir-structs/fact_collection.js';
|
|
9
|
+
export type { NoteData } from './noir-structs/note_data.js';
|
|
10
|
+
export type { ResolvedTaggingStrategy } from './noir-structs/resolved_tagging_strategy.js';
|
|
11
|
+
export type { MessageLoadOracleInputs } from './oracle/message_load_oracle_inputs.js';
|
|
12
|
+
export { TxResolverService } from '../messages/tx_resolver_service.js';
|
|
8
13
|
export { UtilityExecutionOracle } from './oracle/utility_execution_oracle.js';
|
|
9
14
|
export { PrivateExecutionOracle } from './oracle/private_execution_oracle.js';
|
|
10
|
-
export {
|
|
15
|
+
export { buildACIRCallback, UnavailableOracleError } from './oracle/acir_callback.js';
|
|
16
|
+
export { LEGACY_ORACLE_REGISTRY } from './oracle/legacy_oracle_registry.js';
|
|
11
17
|
export { executePrivateFunction, extractPrivateCircuitPublicInputs } from './oracle/private_execution.js';
|
|
12
18
|
export { generateSimulatedProvingResult } from './contract_function_simulator.js';
|
|
13
19
|
export { packAsHintedNote } from './oracle/note_packing_utils.js';
|
|
14
|
-
export {
|
|
15
|
-
|
|
20
|
+
export { BoundedVec } from './noir-structs/bounded_vec.js';
|
|
21
|
+
export type { ContractClassLogData } from './noir-structs/contract_class_log_data.js';
|
|
22
|
+
export type { EmbeddedCurvePoint } from './noir-structs/embedded_curve_point.js';
|
|
23
|
+
export { EphemeralArray } from './noir-structs/ephemeral_array.js';
|
|
24
|
+
export { Option } from './noir-structs/option.js';
|
|
25
|
+
export type { UtilityContext } from './noir-structs/utility_context.js';
|
|
26
|
+
export { EventValidationRequest } from './noir-structs/event_validation_request.js';
|
|
27
|
+
export type { LogRetrievalRequest } from './noir-structs/log_retrieval_request.js';
|
|
28
|
+
export type { LogRetrievalResponse } from './noir-structs/log_retrieval_response.js';
|
|
29
|
+
export { NoteValidationRequest } from './noir-structs/note_validation_request.js';
|
|
30
|
+
export type { PendingTaggedLog } from './noir-structs/pending_tagged_log.js';
|
|
31
|
+
export type { TxEffectData } from './noir-structs/tx_effect_data.js';
|
|
32
|
+
export type { ProvidedSecret } from './noir-structs/provided_secret.js';
|
|
33
|
+
export type { ResolvedTx } from './noir-structs/resolved_tx.js';
|
|
34
|
+
export { TransientArrayService } from './transient_array_service.js';
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdF9mdW5jdGlvbl9zaW11bGF0b3IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGVBQWUsRUFDZixTQUFTLEVBQ1QsS0FBSyxVQUFVLEVBQ2YsS0FBSyxtQkFBbUIsRUFDeEIsS0FBSyxVQUFVLEdBQ2hCLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUNMLEtBQUssRUFDTCxLQUFLLEVBQ0wsYUFBYSxFQUNiLE1BQU0sRUFDTixVQUFVLEVBQ1YsWUFBWSxFQUNaLElBQUksRUFDSixXQUFXLEVBQ1gsRUFBRSxFQUNGLGlCQUFpQixFQUNqQixhQUFhLEVBQ2IsZUFBZSxFQUNmLFdBQVcsRUFDWCx3QkFBd0IsRUFDeEIsS0FBSyxFQUNMLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsSUFBSSxFQUNKLFVBQVUsRUFDVixxQkFBcUIsRUFDckIsc0JBQXNCLEVBQ3RCLGtCQUFrQixFQUNsQixhQUFhLEVBQ2IsdUJBQXVCLEVBQ3ZCLE1BQU0sRUFDTixrQkFBa0IsRUFDbEIsS0FBSyxFQUNMLGVBQWUsRUFDZixNQUFNLEVBQ04sV0FBVyxFQUNYLEdBQUcsRUFDSCxNQUFNLEVBQ04sR0FBRyxFQUNILEdBQUcsRUFDSCxJQUFJLEVBQ0osYUFBYSxFQUNiLGNBQWMsRUFDZCxtQkFBbUIsRUFDbkIsdUJBQXVCLEVBQ3ZCLG1CQUFtQixFQUNuQix3QkFBd0IsRUFDeEIsZUFBZSxFQUNmLGVBQWUsRUFDZixLQUFLLFlBQVksRUFDakIsS0FBSyxpQkFBaUIsRUFDdEIsS0FBSyxnQkFBZ0IsRUFDckIsS0FBSyxxQkFBcUIsRUFDMUIsS0FBSyxpQkFBaUIsRUFDdEIsS0FBSyxzQkFBc0IsRUFDM0IsS0FBSyxTQUFTLEVBQ2QsS0FBSyxZQUFZLEVBQ2pCLEtBQUssYUFBYSxFQUNsQixLQUFLLFVBQVUsRUFDZixLQUFLLFNBQVMsRUFDZCxL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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contract_function_simulator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contract_function_simulator/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,20 @@
|
|
|
1
|
+
export { ORACLE_REGISTRY, makeEntry } from './oracle/oracle_registry.js';
|
|
2
|
+
export { ALIAS, ARRAY, AZTEC_ADDRESS, BIGINT, BLOCK_HASH, BLOCK_NUMBER, BOOL, BOUNDED_VEC, U8, CONTRACT_INSTANCE, DELIVERY_MODE, EPHEMERAL_ARRAY, ETH_ADDRESS, EVENT_VALIDATION_REQUEST, FIELD, FIXED_ARRAY, FUNCTION_SELECTOR, LEAF, LEAF_INDEX, LOG_RETRIEVAL_REQUEST, LOG_RETRIEVAL_RESPONSE, MEMBERSHIP_WITNESS, NOTE_SELECTOR, NOTE_VALIDATION_REQUEST, OPTION, PENDING_TAGGED_LOG, POINT, PROVIDED_SECRET, SCALAR, SLOT_NUMBER, STR, STRUCT, U32, U64, U128, tryFieldWidth, isArrayMapping, isBoundedVecMapping, isEphemeralArrayMapping, isFixedArrayMapping, isFixedBoundedVecMapping, isOptionMapping, isStructMapping } from './oracle/oracle_type_mappings.js';
|
|
1
3
|
export { ExecutionNoteCache } from './execution_note_cache.js';
|
|
2
4
|
export { ExecutionTaggingIndexCache } from './execution_tagging_index_cache.js';
|
|
3
5
|
export { HashedValuesCache } from './hashed_values_cache.js';
|
|
4
6
|
export { pickNotes } from './pick_notes.js';
|
|
5
|
-
export {
|
|
6
|
-
export { MessageContextService } from '../messages/message_context_service.js';
|
|
7
|
+
export { TxResolverService } from '../messages/tx_resolver_service.js';
|
|
7
8
|
export { UtilityExecutionOracle } from './oracle/utility_execution_oracle.js';
|
|
8
9
|
export { PrivateExecutionOracle } from './oracle/private_execution_oracle.js';
|
|
9
|
-
export {
|
|
10
|
+
export { buildACIRCallback, UnavailableOracleError } from './oracle/acir_callback.js';
|
|
11
|
+
export { LEGACY_ORACLE_REGISTRY } from './oracle/legacy_oracle_registry.js';
|
|
10
12
|
export { executePrivateFunction, extractPrivateCircuitPublicInputs } from './oracle/private_execution.js';
|
|
11
13
|
export { generateSimulatedProvingResult } from './contract_function_simulator.js';
|
|
12
14
|
export { packAsHintedNote } from './oracle/note_packing_utils.js';
|
|
13
|
-
export {
|
|
15
|
+
export { BoundedVec } from './noir-structs/bounded_vec.js';
|
|
16
|
+
export { EphemeralArray } from './noir-structs/ephemeral_array.js';
|
|
17
|
+
export { Option } from './noir-structs/option.js';
|
|
18
|
+
export { EventValidationRequest } from './noir-structs/event_validation_request.js';
|
|
19
|
+
export { NoteValidationRequest } from './noir-structs/note_validation_request.js';
|
|
20
|
+
export { TransientArrayService } from './transient_array_service.js';
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/** TypeScript counterpart of Noir's `BoundedVec<T, MaxLen>`. */
|
|
2
|
+
export declare class BoundedVec<T> {
|
|
3
|
+
readonly data: T[];
|
|
4
|
+
readonly maxLength: number;
|
|
5
|
+
readonly elementSize: number;
|
|
6
|
+
private constructor();
|
|
7
|
+
/**
|
|
8
|
+
* Construct a BoundedVec with data.
|
|
9
|
+
*
|
|
10
|
+
* @param data - Actual elements. Length must be `<= maxLength`.
|
|
11
|
+
* @param maxLength - Maximum capacity declared at the Noir call site. The storage slot is padded to this many
|
|
12
|
+
* elements.
|
|
13
|
+
* @param elementSize - Number of Fr fields each element contributes when serialized. Only consulted for
|
|
14
|
+
* variable-width elements whose width isn't statically known from their shape (e.g. a packed note spanning
|
|
15
|
+
* `packedHintedNoteLength` fields); fixed-width elements derive it from the shape, so it can be omitted.
|
|
16
|
+
*
|
|
17
|
+
* @example A bounded vec of packed notes, each spanning `packedHintedNoteLength` fields:
|
|
18
|
+
* ```ts
|
|
19
|
+
* BoundedVec.from({ data: notes, maxLength: maxNotes, elementSize: packedHintedNoteLength })
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
static from<T>({ data, maxLength, elementSize }: {
|
|
23
|
+
data: T[];
|
|
24
|
+
maxLength: number;
|
|
25
|
+
elementSize?: number;
|
|
26
|
+
}): BoundedVec<T>;
|
|
27
|
+
equals(other: BoundedVec<T>, innerEquals: (a: T, b: T) => boolean): boolean;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm91bmRlZF92ZWMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250cmFjdF9mdW5jdGlvbl9zaW11bGF0b3Ivbm9pci1zdHJ1Y3RzL2JvdW5kZWRfdmVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdFQUFnRTtBQUNoRSxxQkFBYSxVQUFVLENBQUMsQ0FBQzthQUVMLElBQUksRUFBRSxDQUFDLEVBQUU7YUFDVCxTQUFTLEVBQUUsTUFBTTthQUNqQixXQUFXLEVBQUUsTUFBTTtJQUhyQyxPQUFPLGVBSUg7SUFFSjs7Ozs7Ozs7Ozs7Ozs7T0FjRztJQUNILE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQ2IsSUFBSSxFQUNKLFNBQVMsRUFDVCxXQUFlLEVBQ2hCLEVBQUU7UUFDRCxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDVixTQUFTLEVBQUUsTUFBTSxDQUFDO1FBQ2xCLFdBQVcsQ0FBQyxFQUFFLE1BQU0sQ0FBQztLQUN0QixHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FFaEI7SUFFRCxNQUFNLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssT0FBTyxHQUFHLE9BQU8sQ0FNMUU7Q0FDRiJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bounded_vec.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/noir-structs/bounded_vec.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,qBAAa,UAAU,CAAC,CAAC;aAEL,IAAI,EAAE,CAAC,EAAE;aACT,SAAS,EAAE,MAAM;aACjB,WAAW,EAAE,MAAM;IAHrC,OAAO,eAIH;IAEJ;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,EACb,IAAI,EACJ,SAAS,EACT,WAAe,EAChB,EAAE;QACD,IAAI,EAAE,CAAC,EAAE,CAAC;QACV,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,UAAU,CAAC,CAAC,CAAC,CAEhB;IAED,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,OAAO,GAAG,OAAO,CAM1E;CACF"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/** TypeScript counterpart of Noir's `BoundedVec<T, MaxLen>`. */ export class BoundedVec {
|
|
2
|
+
data;
|
|
3
|
+
maxLength;
|
|
4
|
+
elementSize;
|
|
5
|
+
constructor(data, maxLength, elementSize){
|
|
6
|
+
this.data = data;
|
|
7
|
+
this.maxLength = maxLength;
|
|
8
|
+
this.elementSize = elementSize;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Construct a BoundedVec with data.
|
|
12
|
+
*
|
|
13
|
+
* @param data - Actual elements. Length must be `<= maxLength`.
|
|
14
|
+
* @param maxLength - Maximum capacity declared at the Noir call site. The storage slot is padded to this many
|
|
15
|
+
* elements.
|
|
16
|
+
* @param elementSize - Number of Fr fields each element contributes when serialized. Only consulted for
|
|
17
|
+
* variable-width elements whose width isn't statically known from their shape (e.g. a packed note spanning
|
|
18
|
+
* `packedHintedNoteLength` fields); fixed-width elements derive it from the shape, so it can be omitted.
|
|
19
|
+
*
|
|
20
|
+
* @example A bounded vec of packed notes, each spanning `packedHintedNoteLength` fields:
|
|
21
|
+
* ```ts
|
|
22
|
+
* BoundedVec.from({ data: notes, maxLength: maxNotes, elementSize: packedHintedNoteLength })
|
|
23
|
+
* ```
|
|
24
|
+
*/ static from({ data, maxLength, elementSize = 1 }) {
|
|
25
|
+
return new BoundedVec(data, maxLength, elementSize);
|
|
26
|
+
}
|
|
27
|
+
equals(other, innerEquals) {
|
|
28
|
+
return this.maxLength === other.maxLength && this.data.length === other.data.length && this.data.every((value, i)=>innerEquals(value, other.data[i]));
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
|
+
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
3
|
+
/** Wire form of a contract class log. */
|
|
4
|
+
export type ContractClassLogData = {
|
|
5
|
+
contractAddress: AztecAddress;
|
|
6
|
+
fields: Fr[];
|
|
7
|
+
emittedLength: number;
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfY2xhc3NfbG9nX2RhdGEuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250cmFjdF9mdW5jdGlvbl9zaW11bGF0b3Ivbm9pci1zdHJ1Y3RzL2NvbnRyYWN0X2NsYXNzX2xvZ19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRWhFLHlDQUF5QztBQUN6QyxNQUFNLE1BQU0sb0JBQW9CLEdBQUc7SUFDakMsZUFBZSxFQUFFLFlBQVksQ0FBQztJQUM5QixNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDYixhQUFhLEVBQUUsTUFBTSxDQUFDO0NBQ3ZCLENBQUMifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract_class_log_data.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/noir-structs/contract_class_log_data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,yCAAyC;AACzC,MAAM,MAAM,oBAAoB,GAAG;IACjC,eAAe,EAAE,YAAY,CAAC;IAC9B,MAAM,EAAE,EAAE,EAAE,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
/** Wire form of a contract class log. */ export { };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
|
+
/** Wire form of a Grumpkin point crossing the oracle boundary: Noir's `EmbeddedCurvePoint` serializes to `[x, y]`. */
|
|
3
|
+
export type EmbeddedCurvePoint = {
|
|
4
|
+
x: Fr;
|
|
5
|
+
y: Fr;
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1iZWRkZWRfY3VydmVfcG9pbnQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250cmFjdF9mdW5jdGlvbl9zaW11bGF0b3Ivbm9pci1zdHJ1Y3RzL2VtYmVkZGVkX2N1cnZlX3BvaW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXpELHNIQUFzSDtBQUN0SCxNQUFNLE1BQU0sa0JBQWtCLEdBQUc7SUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO0lBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQTtDQUFFLENBQUMifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embedded_curve_point.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/noir-structs/embedded_curve_point.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEzD,sHAAsH;AACtH,MAAM,MAAM,kBAAkB,GAAG;IAAE,CAAC,EAAE,EAAE,CAAC;IAAC,CAAC,EAAE,EAAE,CAAA;CAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
/** Wire form of a Grumpkin point crossing the oracle boundary: Noir's `EmbeddedCurvePoint` serializes to `[x, y]`. */ export { };
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
|
+
import type { EphemeralArrayService } from '../ephemeral_array_service.js';
|
|
3
|
+
import type { TypeMapping } from '../oracle/oracle_registry.js';
|
|
4
|
+
/**
|
|
5
|
+
* TypeScript counterpart of Noir's `EphemeralArray<T>`.
|
|
6
|
+
*
|
|
7
|
+
* An ephemeral array looks very different depending on whether it's being produced (as an oracle return value) or
|
|
8
|
+
* consumed (as an oracle parameter), so we use a discriminated state to model both without leaking those details to
|
|
9
|
+
* callers:
|
|
10
|
+
*
|
|
11
|
+
* - As a return value (`output` mode), what we have are the typed values the oracle just computed. The slot is just
|
|
12
|
+
* an implementation detail of how those values get handed back to ACVM, so we hold onto the values and the service
|
|
13
|
+
* they will eventually live in, and only materialize a slot when something actually asks for it.
|
|
14
|
+
*
|
|
15
|
+
* - As a parameter (`input` mode), what we have is a slot pointing at fields ACVM already wrote into the service,
|
|
16
|
+
* plus the TypeMapping that knows how to interpret those fields. We hold onto both so callers can later ask for
|
|
17
|
+
* the typed values without having to think about deserialization.
|
|
18
|
+
*
|
|
19
|
+
* In both modes the idea is the same: store everything we already know at construction time, so the rest of the
|
|
20
|
+
* code can work with typed values and never touch slots, services, or TypeMappings directly.
|
|
21
|
+
*/
|
|
22
|
+
export declare class EphemeralArray<T> {
|
|
23
|
+
private readonly state;
|
|
24
|
+
private constructor();
|
|
25
|
+
/** Create an output-mode array carrying typed values. The service is only used if/when the slot is materialized. */
|
|
26
|
+
static fromValues<T>(service: EphemeralArrayService, values: T[]): EphemeralArray<T>;
|
|
27
|
+
/** Wrap an existing slot. Intended for the EPHEMERAL_ARRAY combinator during ACVM deserialization. */
|
|
28
|
+
static fromSlot<T>(slot: Fr, mapping: TypeMapping<T>): EphemeralArray<T>;
|
|
29
|
+
/**
|
|
30
|
+
* Returns the slot, materializing values into the service on first call for output-mode arrays.
|
|
31
|
+
* Intended for the EPHEMERAL_ARRAY combinator during ACVM serialization.
|
|
32
|
+
*/
|
|
33
|
+
materializeSlot(serializeItem: (v: T) => Fr[]): Fr;
|
|
34
|
+
/** Read all elements: returns stored values for output-mode arrays, deserializes from the service for input-mode. */
|
|
35
|
+
readAll(service: EphemeralArrayService): T[];
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXBoZW1lcmFsX2FycmF5LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL25vaXItc3RydWN0cy9lcGhlbWVyYWxfYXJyYXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFHekQsT0FBTyxLQUFLLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRSxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUVoRTs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQkc7QUFDSCxxQkFBYSxjQUFjLENBQUMsQ0FBQztJQUNQLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSztJQUExQyxPQUFPLGVBQStEO0lBRXRFLG9IQUFvSDtJQUNwSCxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxHQUFHLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FFbkY7SUFFRCxzR0FBc0c7SUFDdEcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFHLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FFdkU7SUFFRDs7O09BR0c7SUFDSCxlQUFlLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsR0FBRyxFQUFFLENBUWpEO0lBRUQscUhBQXFIO0lBQ3JILE9BQU8sQ0FBQyxPQUFPLEVBQUUscUJBQXFCLEdBQUcsQ0FBQyxFQUFFLENBUTNDO0NBQ0YifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ephemeral_array.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/noir-structs/ephemeral_array.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAGzD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAEhE;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,cAAc,CAAC,CAAC;IACP,OAAO,CAAC,QAAQ,CAAC,KAAK;IAA1C,OAAO,eAA+D;IAEtE,oHAAoH;IACpH,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,qBAAqB,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC,CAEnF;IAED,sGAAsG;IACtG,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAEvE;IAED;;;OAGG;IACH,eAAe,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,CAQjD;IAED,qHAAqH;IACrH,OAAO,CAAC,OAAO,EAAE,qBAAqB,GAAG,CAAC,EAAE,CAQ3C;CACF"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { FieldReader } from '@aztec/foundation/serialize';
|
|
2
|
+
/**
|
|
3
|
+
* TypeScript counterpart of Noir's `EphemeralArray<T>`.
|
|
4
|
+
*
|
|
5
|
+
* An ephemeral array looks very different depending on whether it's being produced (as an oracle return value) or
|
|
6
|
+
* consumed (as an oracle parameter), so we use a discriminated state to model both without leaking those details to
|
|
7
|
+
* callers:
|
|
8
|
+
*
|
|
9
|
+
* - As a return value (`output` mode), what we have are the typed values the oracle just computed. The slot is just
|
|
10
|
+
* an implementation detail of how those values get handed back to ACVM, so we hold onto the values and the service
|
|
11
|
+
* they will eventually live in, and only materialize a slot when something actually asks for it.
|
|
12
|
+
*
|
|
13
|
+
* - As a parameter (`input` mode), what we have is a slot pointing at fields ACVM already wrote into the service,
|
|
14
|
+
* plus the TypeMapping that knows how to interpret those fields. We hold onto both so callers can later ask for
|
|
15
|
+
* the typed values without having to think about deserialization.
|
|
16
|
+
*
|
|
17
|
+
* In both modes the idea is the same: store everything we already know at construction time, so the rest of the
|
|
18
|
+
* code can work with typed values and never touch slots, services, or TypeMappings directly.
|
|
19
|
+
*/ export class EphemeralArray {
|
|
20
|
+
state;
|
|
21
|
+
constructor(state){
|
|
22
|
+
this.state = state;
|
|
23
|
+
}
|
|
24
|
+
/** Create an output-mode array carrying typed values. The service is only used if/when the slot is materialized. */ static fromValues(service, values) {
|
|
25
|
+
return new EphemeralArray({
|
|
26
|
+
kind: 'output',
|
|
27
|
+
service,
|
|
28
|
+
values
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
/** Wrap an existing slot. Intended for the EPHEMERAL_ARRAY combinator during ACVM deserialization. */ static fromSlot(slot, mapping) {
|
|
32
|
+
return new EphemeralArray({
|
|
33
|
+
kind: 'input',
|
|
34
|
+
slot,
|
|
35
|
+
mapping
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Returns the slot, materializing values into the service on first call for output-mode arrays.
|
|
40
|
+
* Intended for the EPHEMERAL_ARRAY combinator during ACVM serialization.
|
|
41
|
+
*/ materializeSlot(serializeItem) {
|
|
42
|
+
if (this.state.kind === 'input') {
|
|
43
|
+
return this.state.slot;
|
|
44
|
+
}
|
|
45
|
+
if (this.state.cachedSlot === undefined) {
|
|
46
|
+
this.state.cachedSlot = this.state.service.newArray(this.state.values.map(serializeItem));
|
|
47
|
+
}
|
|
48
|
+
return this.state.cachedSlot;
|
|
49
|
+
}
|
|
50
|
+
/** Read all elements: returns stored values for output-mode arrays, deserializes from the service for input-mode. */ readAll(service) {
|
|
51
|
+
if (this.state.kind === 'output') {
|
|
52
|
+
return this.state.values;
|
|
53
|
+
}
|
|
54
|
+
const mapping = this.state.mapping;
|
|
55
|
+
return service.readArrayAt(this.state.slot).map((fields)=>mapping.deserialization.fn([
|
|
56
|
+
FieldReader.asReader(fields)
|
|
57
|
+
]));
|
|
58
|
+
}
|
|
59
|
+
}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
|
+
import { FieldReader } from '@aztec/foundation/serialize';
|
|
2
3
|
import { EventSelector } from '@aztec/stdlib/abi';
|
|
3
4
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
4
5
|
import { TxHash } from '@aztec/stdlib/tx';
|
|
5
6
|
/**
|
|
6
7
|
* Intermediate struct used to perform batch event validation by PXE. The `utilityValidateAndStoreEnqueuedNotesAndEvents` oracle
|
|
7
|
-
* expects for values of this type to be stored in a `
|
|
8
|
+
* expects for values of this type to be stored in a `EphemeralArray`.
|
|
8
9
|
*/
|
|
9
10
|
export declare class EventValidationRequest {
|
|
10
11
|
contractAddress: AztecAddress;
|
|
@@ -13,8 +14,7 @@ export declare class EventValidationRequest {
|
|
|
13
14
|
serializedEvent: Fr[];
|
|
14
15
|
eventCommitment: Fr;
|
|
15
16
|
txHash: TxHash;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
static fromFields(fields: Fr[], maxEventSerializedLen: number): EventValidationRequest;
|
|
17
|
+
constructor(contractAddress: AztecAddress, eventTypeId: EventSelector, randomness: Fr, serializedEvent: Fr[], eventCommitment: Fr, txHash: TxHash);
|
|
18
|
+
static fromFields(fields: Fr[] | FieldReader): EventValidationRequest;
|
|
19
19
|
}
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRfdmFsaWRhdGlvbl9yZXF1ZXN0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL25vaXItc3RydWN0cy9ldmVudF92YWxpZGF0aW9uX3JlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUxQzs7O0dBR0c7QUFDSCxxQkFBYSxzQkFBc0I7SUFFeEIsZUFBZSxFQUFFLFlBQVk7SUFDN0IsV0FBVyxFQUFFLGFBQWE7SUFDMUIsVUFBVSxFQUFFLEVBQUU7SUFDZCxlQUFlLEVBQUUsRUFBRSxFQUFFO0lBQ3JCLGVBQWUsRUFBRSxFQUFFO0lBQ25CLE1BQU0sRUFBRSxNQUFNO0lBTnZCLFlBQ1MsZUFBZSxFQUFFLFlBQVksRUFDN0IsV0FBVyxFQUFFLGFBQWEsRUFDMUIsVUFBVSxFQUFFLEVBQUUsRUFDZCxlQUFlLEVBQUUsRUFBRSxFQUFFLEVBQ3JCLGVBQWUsRUFBRSxFQUFFLEVBQ25CLE1BQU0sRUFBRSxNQUFNLEVBQ25CO0lBRUosTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsV0FBVyxHQUFHLHNCQUFzQixDQThCcEU7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event_validation_request.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/noir-structs/event_validation_request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"event_validation_request.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/noir-structs/event_validation_request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C;;;GAGG;AACH,qBAAa,sBAAsB;IAExB,eAAe,EAAE,YAAY;IAC7B,WAAW,EAAE,aAAa;IAC1B,UAAU,EAAE,EAAE;IACd,eAAe,EAAE,EAAE,EAAE;IACrB,eAAe,EAAE,EAAE;IACnB,MAAM,EAAE,MAAM;IANvB,YACS,eAAe,EAAE,YAAY,EAC7B,WAAW,EAAE,aAAa,EAC1B,UAAU,EAAE,EAAE,EACd,eAAe,EAAE,EAAE,EAAE,EACrB,eAAe,EAAE,EAAE,EACnB,MAAM,EAAE,MAAM,EACnB;IAEJ,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,GAAG,sBAAsB,CA8BpE;CACF"}
|
|
@@ -4,7 +4,7 @@ import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
|
4
4
|
import { TxHash } from '@aztec/stdlib/tx';
|
|
5
5
|
/**
|
|
6
6
|
* Intermediate struct used to perform batch event validation by PXE. The `utilityValidateAndStoreEnqueuedNotesAndEvents` oracle
|
|
7
|
-
* expects for values of this type to be stored in a `
|
|
7
|
+
* expects for values of this type to be stored in a `EphemeralArray`.
|
|
8
8
|
*/ export class EventValidationRequest {
|
|
9
9
|
contractAddress;
|
|
10
10
|
eventTypeId;
|
|
@@ -12,30 +12,28 @@ import { TxHash } from '@aztec/stdlib/tx';
|
|
|
12
12
|
serializedEvent;
|
|
13
13
|
eventCommitment;
|
|
14
14
|
txHash;
|
|
15
|
-
|
|
16
|
-
constructor(contractAddress, eventTypeId, randomness, serializedEvent, eventCommitment, txHash, recipient){
|
|
15
|
+
constructor(contractAddress, eventTypeId, randomness, serializedEvent, eventCommitment, txHash){
|
|
17
16
|
this.contractAddress = contractAddress;
|
|
18
17
|
this.eventTypeId = eventTypeId;
|
|
19
18
|
this.randomness = randomness;
|
|
20
19
|
this.serializedEvent = serializedEvent;
|
|
21
20
|
this.eventCommitment = eventCommitment;
|
|
22
21
|
this.txHash = txHash;
|
|
23
|
-
this.recipient = recipient;
|
|
24
22
|
}
|
|
25
|
-
static fromFields(fields
|
|
23
|
+
static fromFields(fields) {
|
|
26
24
|
const reader = FieldReader.asReader(fields);
|
|
27
|
-
const contractAddress = AztecAddress.
|
|
25
|
+
const contractAddress = AztecAddress.fromFieldUnsafe(reader.readField());
|
|
28
26
|
const eventTypeId = EventSelector.fromField(reader.readField());
|
|
29
27
|
const randomness = reader.readField();
|
|
28
|
+
const maxEventSerializedLen = reader.readField().toNumber();
|
|
30
29
|
const eventStorage = reader.readFieldArray(maxEventSerializedLen);
|
|
31
30
|
const eventLen = reader.readField().toNumber();
|
|
32
31
|
const serializedEvent = eventStorage.slice(0, eventLen);
|
|
33
32
|
const eventCommitment = reader.readField();
|
|
34
33
|
const txHash = TxHash.fromField(reader.readField());
|
|
35
|
-
const recipient = AztecAddress.fromField(reader.readField());
|
|
36
34
|
if (reader.remainingFields() !== 0) {
|
|
37
|
-
throw new Error(`Error converting array of fields to EventValidationRequest: expected ${reader.cursor} fields but received ${
|
|
35
|
+
throw new Error(`Error converting array of fields to EventValidationRequest: expected ${reader.cursor} fields but received ${reader.cursor + reader.remainingFields()} (maxEventSerializedLen=${maxEventSerializedLen}).`);
|
|
38
36
|
}
|
|
39
|
-
return new EventValidationRequest(contractAddress, eventTypeId, randomness, serializedEvent, eventCommitment, txHash
|
|
37
|
+
return new EventValidationRequest(contractAddress, eventTypeId, randomness, serializedEvent, eventCommitment, txHash);
|
|
40
38
|
}
|
|
41
39
|
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
|
+
import type { RetractableFactOrigin } from '../../storage/fact_store/index.js';
|
|
3
|
+
import type { EphemeralArray } from './ephemeral_array.js';
|
|
4
|
+
import type { Option } from './option.js';
|
|
5
|
+
/**
|
|
6
|
+
* A single fact returned within a fact collection by the fact store oracles.
|
|
7
|
+
*
|
|
8
|
+
* A TS version of the `Fact` struct in `facts/mod.nr`. `originBlock` is `Some` for a retractable fact (carrying its
|
|
9
|
+
* origin block's current chain state) and `None` for a non-retractable one.
|
|
10
|
+
*/
|
|
11
|
+
export type Fact = {
|
|
12
|
+
factTypeId: Fr;
|
|
13
|
+
payload: EphemeralArray<Fr>;
|
|
14
|
+
originBlock: Option<RetractableFactOrigin>;
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRyYWN0X2Z1bmN0aW9uX3NpbXVsYXRvci9ub2lyLXN0cnVjdHMvZmFjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV6RCxPQUFPLEtBQUssRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQy9FLE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUUxQzs7Ozs7R0FLRztBQUNILE1BQU0sTUFBTSxJQUFJLEdBQUc7SUFBRSxVQUFVLEVBQUUsRUFBRSxDQUFDO0lBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQTtDQUFFLENBQUMifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fact.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/noir-structs/fact.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEzD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C;;;;;GAKG;AACH,MAAM,MAAM,IAAI,GAAG;IAAE,UAAU,EAAE,EAAE,CAAC;IAAC,OAAO,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC,qBAAqB,CAAC,CAAA;CAAE,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A single fact returned within a fact collection by the fact store oracles.
|
|
3
|
+
*
|
|
4
|
+
* A TS version of the `Fact` struct in `facts/mod.nr`. `originBlock` is `Some` for a retractable fact (carrying its
|
|
5
|
+
* origin block's current chain state) and `None` for a non-retractable one.
|
|
6
|
+
*/ export { };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
|
+
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
3
|
+
import type { FactWithOriginState } from '../../storage/fact_store/index.js';
|
|
4
|
+
import type { EphemeralArrayService } from '../ephemeral_array_service.js';
|
|
5
|
+
import { EphemeralArray } from './ephemeral_array.js';
|
|
6
|
+
import type { Fact } from './fact.js';
|
|
7
|
+
/**
|
|
8
|
+
* A fact collection.
|
|
9
|
+
*/
|
|
10
|
+
export type FactCollection = {
|
|
11
|
+
contractAddress: AztecAddress;
|
|
12
|
+
scope: AztecAddress;
|
|
13
|
+
factCollectionTypeId: Fr;
|
|
14
|
+
factCollectionId: Fr;
|
|
15
|
+
facts: EphemeralArray<Fact>;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Builds the Noir-facing `FactCollection` from stored facts.
|
|
19
|
+
*/
|
|
20
|
+
export declare function toNoirFactCollection(service: EphemeralArrayService, contractAddress: AztecAddress, scope: AztecAddress, factCollectionTypeId: Fr, factCollectionId: Fr, facts: FactWithOriginState[]): FactCollection;
|
|
21
|
+
/**
|
|
22
|
+
* A zeroed `FactCollection` used only as a serialization shape template for the `None` case of
|
|
23
|
+
* `Option<FactCollection>`. Noir's `Option<T>` is fixed-width on the wire, so `None` must emit the same number of
|
|
24
|
+
* (zeroed) field slots as `Some`.
|
|
25
|
+
**/
|
|
26
|
+
export declare function emptyFactCollection(service: EphemeralArrayService): FactCollection;
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdF9jb2xsZWN0aW9uLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL25vaXItc3RydWN0cy9mYWN0X2NvbGxlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUzRCxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBeUIsTUFBTSxtQ0FBbUMsQ0FBQztBQUVwRyxPQUFPLEtBQUssRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHdEM7O0dBRUc7QUFDSCxNQUFNLE1BQU0sY0FBYyxHQUFHO0lBQzNCLGVBQWUsRUFBRSxZQUFZLENBQUM7SUFDOUIsS0FBSyxFQUFFLFlBQVksQ0FBQztJQUNwQixvQkFBb0IsRUFBRSxFQUFFLENBQUM7SUFDekIsZ0JBQWdCLEVBQUUsRUFBRSxDQUFDO0lBQ3JCLEtBQUssRUFBRSxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7Q0FDN0IsQ0FBQztBQUVGOztHQUVHO0FBQ0gsd0JBQWdCLG9CQUFvQixDQUNsQyxPQUFPLEVBQUUscUJBQXFCLEVBQzlCLGVBQWUsRUFBRSxZQUFZLEVBQzdCLEtBQUssRUFBRSxZQUFZLEVBQ25CLG9CQUFvQixFQUFFLEVBQUUsRUFDeEIsZ0JBQWdCLEVBQUUsRUFBRSxFQUNwQixLQUFLLEVBQUUsbUJBQW1CLEVBQUUsR0FDM0IsY0FBYyxDQXVCaEI7QUFFRDs7OztJQUlJO0FBQ0osd0JBQWdCLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxxQkFBcUIsR0FBRyxjQUFjLENBRWxGIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fact_collection.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/noir-structs/fact_collection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,OAAO,KAAK,EAAE,mBAAmB,EAAyB,MAAM,mCAAmC,CAAC;AAEpG,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGtC;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,eAAe,EAAE,YAAY,CAAC;IAC9B,KAAK,EAAE,YAAY,CAAC;IACpB,oBAAoB,EAAE,EAAE,CAAC;IACzB,gBAAgB,EAAE,EAAE,CAAC;IACrB,KAAK,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;CAC7B,CAAC;AAEF;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,qBAAqB,EAC9B,eAAe,EAAE,YAAY,EAC7B,KAAK,EAAE,YAAY,EACnB,oBAAoB,EAAE,EAAE,EACxB,gBAAgB,EAAE,EAAE,EACpB,KAAK,EAAE,mBAAmB,EAAE,GAC3B,cAAc,CAuBhB;AAED;;;;IAII;AACJ,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,qBAAqB,GAAG,cAAc,CAElF"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
|
+
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
3
|
+
import { OriginBlockState } from '../../storage/fact_store/index.js';
|
|
4
|
+
import { EphemeralArray } from './ephemeral_array.js';
|
|
5
|
+
import { Option } from './option.js';
|
|
6
|
+
/**
|
|
7
|
+
* Builds the Noir-facing `FactCollection` from stored facts.
|
|
8
|
+
*/ export function toNoirFactCollection(service, contractAddress, scope, factCollectionTypeId, factCollectionId, facts) {
|
|
9
|
+
return {
|
|
10
|
+
contractAddress,
|
|
11
|
+
scope,
|
|
12
|
+
factCollectionTypeId,
|
|
13
|
+
factCollectionId,
|
|
14
|
+
facts: EphemeralArray.fromValues(service, facts.map((fact)=>({
|
|
15
|
+
factTypeId: fact.factTypeId,
|
|
16
|
+
payload: EphemeralArray.fromValues(service, fact.payload),
|
|
17
|
+
originBlock: fact.originBlock ? Option.some(fact.originBlock) : Option.none({
|
|
18
|
+
blockNumber: 0,
|
|
19
|
+
blockHash: Fr.ZERO,
|
|
20
|
+
blockState: OriginBlockState.Pending
|
|
21
|
+
})
|
|
22
|
+
})))
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* A zeroed `FactCollection` used only as a serialization shape template for the `None` case of
|
|
27
|
+
* `Option<FactCollection>`. Noir's `Option<T>` is fixed-width on the wire, so `None` must emit the same number of
|
|
28
|
+
* (zeroed) field slots as `Some`.
|
|
29
|
+
**/ export function emptyFactCollection(service) {
|
|
30
|
+
return toNoirFactCollection(service, AztecAddress.ZERO, AztecAddress.ZERO, Fr.ZERO, Fr.ZERO, []);
|
|
31
|
+
}
|
|
@@ -1,16 +1,25 @@
|
|
|
1
|
+
import type { BlockNumber } from '@aztec/foundation/branded-types';
|
|
1
2
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
4
|
+
import type { Tag } from '@aztec/stdlib/logs';
|
|
5
|
+
import type { Option } from './option.js';
|
|
6
|
+
/** Discriminant for which log source to query. */
|
|
7
|
+
export declare enum LogSource {
|
|
8
|
+
PRIVATE = 0,
|
|
9
|
+
PUBLIC = 1,
|
|
10
|
+
PUBLIC_AND_PRIVATE = 2
|
|
11
|
+
}
|
|
5
12
|
/**
|
|
6
13
|
* Intermediate struct used to perform batch log retrieval by PXE. The `utilityBulkRetrieveLogs` oracle expects values of this
|
|
7
|
-
* type to be stored in a `
|
|
14
|
+
* type to be stored in a `EphemeralArray`.
|
|
8
15
|
*/
|
|
9
|
-
export
|
|
16
|
+
export type LogRetrievalRequest = {
|
|
10
17
|
contractAddress: AztecAddress;
|
|
11
18
|
tag: Tag;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}
|
|
16
|
-
|
|
19
|
+
source: LogSource;
|
|
20
|
+
fromBlock: Option<BlockNumber>;
|
|
21
|
+
toBlock: Option<BlockNumber>;
|
|
22
|
+
};
|
|
23
|
+
/** Parses a `LogSource` from its wire field, throwing on an out-of-range value. */
|
|
24
|
+
export declare function logSourceFromField(field: Fr): LogSource;
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nX3JldHJpZXZhbF9yZXF1ZXN0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL25vaXItc3RydWN0cy9sb2dfcmV0cmlldmFsX3JlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTlDLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUUxQyxrREFBa0Q7QUFDbEQsb0JBQVksU0FBUztJQUNuQixPQUFPLElBQUk7SUFDWCxNQUFNLElBQUk7SUFDVixrQkFBa0IsSUFBSTtDQUN2QjtBQUVEOzs7R0FHRztBQUNILE1BQU0sTUFBTSxtQkFBbUIsR0FBRztJQUNoQyxlQUFlLEVBQUUsWUFBWSxDQUFDO0lBQzlCLEdBQUcsRUFBRSxHQUFHLENBQUM7SUFDVCxNQUFNLEVBQUUsU0FBUyxDQUFDO0lBQ2xCLFNBQVMsRUFBRSxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDL0IsT0FBTyxFQUFFLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztDQUM5QixDQUFDO0FBRUYsbUZBQW1GO0FBQ25GLHdCQUFnQixrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsRUFBRSxHQUFHLFNBQVMsQ0FPdkQifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log_retrieval_request.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/noir-structs/log_retrieval_request.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"log_retrieval_request.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/noir-structs/log_retrieval_request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,kDAAkD;AAClD,oBAAY,SAAS;IACnB,OAAO,IAAI;IACX,MAAM,IAAI;IACV,kBAAkB,IAAI;CACvB;AAED;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,eAAe,EAAE,YAAY,CAAC;IAC9B,GAAG,EAAE,GAAG,CAAC;IACT,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;CAC9B,CAAC;AAEF,mFAAmF;AACnF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,EAAE,GAAG,SAAS,CAOvD"}
|
|
@@ -1,26 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
*/ export
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
this.tag = tag;
|
|
13
|
-
}
|
|
14
|
-
toFields() {
|
|
15
|
-
return [
|
|
16
|
-
this.contractAddress.toField(),
|
|
17
|
-
this.tag.value
|
|
18
|
-
];
|
|
19
|
-
}
|
|
20
|
-
static fromFields(fields) {
|
|
21
|
-
const reader = FieldReader.asReader(fields);
|
|
22
|
-
const contractAddress = AztecAddress.fromField(reader.readField());
|
|
23
|
-
const tag = new Tag(reader.readField());
|
|
24
|
-
return new LogRetrievalRequest(contractAddress, tag);
|
|
1
|
+
/** Discriminant for which log source to query. */ export var LogSource = /*#__PURE__*/ function(LogSource) {
|
|
2
|
+
LogSource[LogSource["PRIVATE"] = 0] = "PRIVATE";
|
|
3
|
+
LogSource[LogSource["PUBLIC"] = 1] = "PUBLIC";
|
|
4
|
+
LogSource[LogSource["PUBLIC_AND_PRIVATE"] = 2] = "PUBLIC_AND_PRIVATE";
|
|
5
|
+
return LogSource;
|
|
6
|
+
}({});
|
|
7
|
+
/** Parses a `LogSource` from its wire field, throwing on an out-of-range value. */ export function logSourceFromField(field) {
|
|
8
|
+
const sourceNum = field.toNumber();
|
|
9
|
+
if (!(sourceNum in LogSource)) {
|
|
10
|
+
const validNames = Object.keys(LogSource).filter((k)=>isNaN(Number(k)));
|
|
11
|
+
throw new Error(`Invalid LogSource value ${sourceNum}, expected one of ${validNames.join(', ')}`);
|
|
25
12
|
}
|
|
13
|
+
return sourceNum;
|
|
26
14
|
}
|
|
@@ -1,17 +1,19 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { BlockNumber } from '@aztec/foundation/branded-types';
|
|
2
|
+
import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
|
+
import type { BlockHash } from '@aztec/stdlib/block';
|
|
2
4
|
import type { TxHash } from '@aztec/stdlib/tx';
|
|
5
|
+
import type { UInt64 } from '@aztec/stdlib/types';
|
|
3
6
|
/**
|
|
4
7
|
* Intermediate struct used to perform batch log retrieval by PXE. The `utilityBulkRetrieveLogs` oracle stores values of this
|
|
5
|
-
* type in a `
|
|
8
|
+
* type in a `EphemeralArray`.
|
|
6
9
|
*/
|
|
7
|
-
export
|
|
10
|
+
export type LogRetrievalResponse = {
|
|
8
11
|
logPayload: Fr[];
|
|
9
12
|
txHash: TxHash;
|
|
10
13
|
uniqueNoteHashesInTx: Fr[];
|
|
11
14
|
firstNullifierInTx: Fr;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nX3JldHJpZXZhbF9yZXNwb25zZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRyYWN0X2Z1bmN0aW9uX3NpbXVsYXRvci9ub2lyLXN0cnVjdHMvbG9nX3JldHJpZXZhbF9yZXNwb25zZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFJL0M7OztHQUdHO0FBQ0gscUJBQWEsb0JBQW9CO0lBRXRCLFVBQVUsRUFBRSxFQUFFLEVBQUU7SUFDaEIsTUFBTSxFQUFFLE1BQU07SUFDZCxvQkFBb0IsRUFBRSxFQUFFLEVBQUU7SUFDMUIsa0JBQWtCLEVBQUUsRUFBRTtJQUovQixZQUNTLFVBQVUsRUFBRSxFQUFFLEVBQUUsRUFDaEIsTUFBTSxFQUFFLE1BQU0sRUFDZCxvQkFBb0IsRUFBRSxFQUFFLEVBQUUsRUFDMUIsa0JBQWtCLEVBQUUsRUFBRSxFQUMzQjtJQUVKLFFBQVEsSUFBSSxFQUFFLEVBQUUsQ0FTZjtJQUVELE1BQU0sQ0FBQyxhQUFhLElBQUksRUFBRSxFQUFFLENBUzNCO0lBRUQsTUFBTSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxvQkFBb0IsR0FBRyxJQUFJLEdBQUcsRUFBRSxFQUFFLENBTXJFO0NBQ0YifQ==
|
|
15
|
+
blockNumber: BlockNumber;
|
|
16
|
+
blockTimestamp: UInt64;
|
|
17
|
+
blockHash: BlockHash;
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nX3JldHJpZXZhbF9yZXNwb25zZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRyYWN0X2Z1bmN0aW9uX3NpbXVsYXRvci9ub2lyLXN0cnVjdHMvbG9nX3JldHJpZXZhbF9yZXNwb25zZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RCxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVsRDs7O0dBR0c7QUFDSCxNQUFNLE1BQU0sb0JBQW9CLEdBQUc7SUFDakMsVUFBVSxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQ2pCLE1BQU0sRUFBRSxNQUFNLENBQUM7SUFDZixvQkFBb0IsRUFBRSxFQUFFLEVBQUUsQ0FBQztJQUMzQixrQkFBa0IsRUFBRSxFQUFFLENBQUM7SUFDdkIsV0FBVyxFQUFFLFdBQVcsQ0FBQztJQUN6QixjQUFjLEVBQUUsTUFBTSxDQUFDO0lBQ3ZCLFNBQVMsRUFBRSxTQUFTLENBQUM7Q0FDdEIsQ0FBQyJ9
|