@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
|
@@ -14,14 +14,18 @@ import { ClaimedLengthArray, PartialPrivateTailPublicInputsForPublic, PartialPri
|
|
|
14
14
|
import { PrivateLog } from '@aztec/stdlib/logs';
|
|
15
15
|
import { ScopedL2ToL1Message } from '@aztec/stdlib/messaging';
|
|
16
16
|
import { ChonkProof } from '@aztec/stdlib/proofs';
|
|
17
|
+
import { MerkleTreeId } from '@aztec/stdlib/trees';
|
|
17
18
|
import { CallContext, HashedValues, PrivateExecutionResult, TxConstantData, collectNested, collectNoteHashNullifierCounterMap, getFinalMinRevertibleSideEffectCounter } from '@aztec/stdlib/tx';
|
|
19
|
+
import { CapsuleService } from '../storage/capsule_store/capsule_service.js';
|
|
20
|
+
import { FactService } from '../storage/fact_store/index.js';
|
|
18
21
|
import { ExecutionNoteCache } from './execution_note_cache.js';
|
|
19
22
|
import { ExecutionTaggingIndexCache } from './execution_tagging_index_cache.js';
|
|
20
23
|
import { HashedValuesCache } from './hashed_values_cache.js';
|
|
21
|
-
import {
|
|
24
|
+
import { buildACIRCallback } from './oracle/acir_callback.js';
|
|
22
25
|
import { executePrivateFunction } from './oracle/private_execution.js';
|
|
23
26
|
import { PrivateExecutionOracle } from './oracle/private_execution_oracle.js';
|
|
24
27
|
import { UtilityExecutionOracle } from './oracle/utility_execution_oracle.js';
|
|
28
|
+
import { TransientArrayService } from './transient_array_service.js';
|
|
25
29
|
/**
|
|
26
30
|
* The contract function simulator.
|
|
27
31
|
*/ export class ContractFunctionSimulator {
|
|
@@ -31,48 +35,56 @@ import { UtilityExecutionOracle } from './oracle/utility_execution_oracle.js';
|
|
|
31
35
|
keyStore;
|
|
32
36
|
addressStore;
|
|
33
37
|
aztecNode;
|
|
38
|
+
l2TipsStore;
|
|
34
39
|
senderTaggingStore;
|
|
35
40
|
recipientTaggingStore;
|
|
36
|
-
|
|
41
|
+
taggingSecretSourcesStore;
|
|
37
42
|
capsuleStore;
|
|
43
|
+
factStore;
|
|
38
44
|
privateEventStore;
|
|
39
45
|
simulator;
|
|
40
46
|
contractSyncService;
|
|
41
|
-
|
|
47
|
+
txResolver;
|
|
48
|
+
hooks;
|
|
42
49
|
constructor(args){
|
|
43
50
|
this.contractStore = args.contractStore;
|
|
44
51
|
this.noteStore = args.noteStore;
|
|
45
52
|
this.keyStore = args.keyStore;
|
|
46
53
|
this.addressStore = args.addressStore;
|
|
47
54
|
this.aztecNode = args.aztecNode;
|
|
55
|
+
this.l2TipsStore = args.l2TipsStore;
|
|
48
56
|
this.senderTaggingStore = args.senderTaggingStore;
|
|
49
57
|
this.recipientTaggingStore = args.recipientTaggingStore;
|
|
50
|
-
this.
|
|
58
|
+
this.taggingSecretSourcesStore = args.taggingSecretSourcesStore;
|
|
51
59
|
this.capsuleStore = args.capsuleStore;
|
|
60
|
+
this.factStore = args.factStore;
|
|
52
61
|
this.privateEventStore = args.privateEventStore;
|
|
53
62
|
this.simulator = args.simulator;
|
|
54
63
|
this.contractSyncService = args.contractSyncService;
|
|
55
|
-
this.
|
|
64
|
+
this.txResolver = args.txResolver;
|
|
65
|
+
this.hooks = args.hooks;
|
|
56
66
|
this.log = createLogger('simulator');
|
|
57
67
|
}
|
|
58
68
|
/**
|
|
59
69
|
* Runs a private function.
|
|
60
70
|
* @param request - The transaction request.
|
|
61
|
-
*/ async run(request, {
|
|
71
|
+
*/ async run(request, { msgSender = AztecAddress.NULL_MSG_SENDER, anchorBlockHeader, senderForTags, scopes, jobId }) {
|
|
62
72
|
const simulatorSetupTimer = new Timer();
|
|
63
|
-
const
|
|
73
|
+
const contractAddress = request.origin;
|
|
74
|
+
const entryPointArtifact = await this.contractStore.getFunctionArtifactWithDebugMetadata(contractAddress, request.functionSelector);
|
|
64
75
|
if (entryPointArtifact.functionType !== FunctionType.PRIVATE) {
|
|
65
76
|
throw new Error(`Cannot run ${entryPointArtifact.functionType} function as private`);
|
|
66
77
|
}
|
|
67
|
-
if (request.origin !== contractAddress) {
|
|
68
|
-
this.log.warn(`Request origin does not match contract address in simulation. Request origin: ${request.origin}, contract address: ${contractAddress}`);
|
|
69
|
-
}
|
|
70
78
|
// reserve the first side effect for the tx hash (inserted by the private kernel)
|
|
71
79
|
const startSideEffectCounter = 2;
|
|
72
80
|
const callContext = new CallContext(msgSender, contractAddress, await FunctionSelector.fromNameAndParameters(entryPointArtifact.name, entryPointArtifact.parameters), entryPointArtifact.isStatic);
|
|
73
81
|
const protocolNullifier = await computeProtocolNullifier(await request.toTxRequest().hash());
|
|
74
82
|
const noteCache = new ExecutionNoteCache(protocolNullifier);
|
|
75
83
|
const taggingIndexCache = new ExecutionTaggingIndexCache();
|
|
84
|
+
// One shared transient store for the whole execution tree rooted at this transaction. Threaded into every child
|
|
85
|
+
// private oracle and inherited by nested utility frames, so that frames of the same contract see each other's
|
|
86
|
+
// transient arrays, then discarded when run() returns.
|
|
87
|
+
const transientArrayService = new TransientArrayService();
|
|
76
88
|
const privateExecutionOracle = new PrivateExecutionOracle({
|
|
77
89
|
argsHash: request.firstCallArgsHash,
|
|
78
90
|
txContext: request.txContext,
|
|
@@ -93,17 +105,21 @@ import { UtilityExecutionOracle } from './oracle/utility_execution_oracle.js';
|
|
|
93
105
|
aztecNode: this.aztecNode,
|
|
94
106
|
senderTaggingStore: this.senderTaggingStore,
|
|
95
107
|
recipientTaggingStore: this.recipientTaggingStore,
|
|
96
|
-
|
|
97
|
-
|
|
108
|
+
taggingSecretSourcesStore: this.taggingSecretSourcesStore,
|
|
109
|
+
capsuleService: new CapsuleService(this.capsuleStore, scopes),
|
|
110
|
+
factService: new FactService(this.factStore, scopes),
|
|
98
111
|
privateEventStore: this.privateEventStore,
|
|
99
|
-
|
|
112
|
+
txResolver: this.txResolver,
|
|
100
113
|
contractSyncService: this.contractSyncService,
|
|
101
114
|
jobId,
|
|
102
115
|
totalPublicCalldataCount: 0,
|
|
103
116
|
sideEffectCounter: startSideEffectCounter,
|
|
104
117
|
scopes,
|
|
105
118
|
senderForTags,
|
|
106
|
-
simulator: this.simulator
|
|
119
|
+
simulator: this.simulator,
|
|
120
|
+
l2TipsStore: this.l2TipsStore,
|
|
121
|
+
hooks: this.hooks,
|
|
122
|
+
transientArrayService
|
|
107
123
|
});
|
|
108
124
|
const setupTime = simulatorSetupTimer.ms();
|
|
109
125
|
try {
|
|
@@ -121,7 +137,7 @@ import { UtilityExecutionOracle } from './oracle/utility_execution_oracle.js';
|
|
|
121
137
|
r.publicInputs.publicTeardownCallRequest
|
|
122
138
|
]));
|
|
123
139
|
const publicFunctionsCalldata = await Promise.all(publicCallRequests.map(async (r)=>{
|
|
124
|
-
const calldata = await privateExecutionOracle.
|
|
140
|
+
const calldata = await privateExecutionOracle.getHashPreimage(r.calldataHash);
|
|
125
141
|
return new HashedValues(calldata, r.calldataHash);
|
|
126
142
|
}));
|
|
127
143
|
const teardownTime = simulatorTeardownTimer.ms();
|
|
@@ -137,22 +153,25 @@ import { UtilityExecutionOracle } from './oracle/utility_execution_oracle.js';
|
|
|
137
153
|
throw createSimulationError(err instanceof Error ? err : new Error('Unknown error during private execution'));
|
|
138
154
|
}
|
|
139
155
|
}
|
|
140
|
-
// docs:start:execute_utility_function
|
|
141
156
|
/**
|
|
142
157
|
* Runs a utility function.
|
|
143
158
|
* @param call - The function call to execute.
|
|
144
|
-
* @param authwits - Authentication witnesses required for the function call.
|
|
145
|
-
* @param anchorBlockHeader - The block header to use as base state for this run.
|
|
146
|
-
* @param scopes - Optional array of account addresses whose notes can be accessed in this call. Defaults to all
|
|
147
|
-
* accounts if not specified.
|
|
148
159
|
* @returns A return value of the utility function in a form as returned by the simulator (Noir fields)
|
|
149
160
|
*/ async runUtility(call, authwits, anchorBlockHeader, scopes, jobId) {
|
|
150
161
|
const entryPointArtifact = await this.contractStore.getFunctionArtifactWithDebugMetadata(call.to, call.selector);
|
|
151
162
|
if (entryPointArtifact.functionType !== FunctionType.UTILITY) {
|
|
152
163
|
throw new Error(`Cannot run ${entryPointArtifact.functionType} function as utility`);
|
|
153
164
|
}
|
|
165
|
+
const utilityExecutor = async (syncCall, execScopes)=>{
|
|
166
|
+
await this.runUtility(syncCall, [], anchorBlockHeader, execScopes, jobId);
|
|
167
|
+
};
|
|
154
168
|
const oracle = new UtilityExecutionOracle({
|
|
155
|
-
|
|
169
|
+
callContext: CallContext.from({
|
|
170
|
+
msgSender: AztecAddress.NULL_MSG_SENDER,
|
|
171
|
+
contractAddress: call.to,
|
|
172
|
+
functionSelector: call.selector,
|
|
173
|
+
isStaticCall: true
|
|
174
|
+
}),
|
|
156
175
|
authWitnesses: authwits,
|
|
157
176
|
capsules: [],
|
|
158
177
|
anchorBlockHeader,
|
|
@@ -162,13 +181,20 @@ import { UtilityExecutionOracle } from './oracle/utility_execution_oracle.js';
|
|
|
162
181
|
addressStore: this.addressStore,
|
|
163
182
|
aztecNode: this.aztecNode,
|
|
164
183
|
recipientTaggingStore: this.recipientTaggingStore,
|
|
165
|
-
|
|
166
|
-
|
|
184
|
+
taggingSecretSourcesStore: this.taggingSecretSourcesStore,
|
|
185
|
+
capsuleService: new CapsuleService(this.capsuleStore, scopes),
|
|
186
|
+
factService: new FactService(this.factStore, scopes),
|
|
167
187
|
privateEventStore: this.privateEventStore,
|
|
168
|
-
|
|
188
|
+
txResolver: this.txResolver,
|
|
169
189
|
contractSyncService: this.contractSyncService,
|
|
190
|
+
l2TipsStore: this.l2TipsStore,
|
|
170
191
|
jobId,
|
|
171
|
-
scopes
|
|
192
|
+
scopes,
|
|
193
|
+
simulator: this.simulator,
|
|
194
|
+
hooks: this.hooks,
|
|
195
|
+
utilityExecutor,
|
|
196
|
+
// Execution-tree root (top-level utility run or contract sync): own store; nested frames inherit it.
|
|
197
|
+
transientArrayService: new TransientArrayService()
|
|
172
198
|
});
|
|
173
199
|
try {
|
|
174
200
|
this.log.verbose(`Executing utility function ${entryPointArtifact.name}`, {
|
|
@@ -176,7 +202,7 @@ import { UtilityExecutionOracle } from './oracle/utility_execution_oracle.js';
|
|
|
176
202
|
selector: call.selector
|
|
177
203
|
});
|
|
178
204
|
const initialWitness = toACVMWitness(0, call.args);
|
|
179
|
-
const acirExecutionResult = await this.simulator.executeUserCircuit(initialWitness, entryPointArtifact,
|
|
205
|
+
const acirExecutionResult = await this.simulator.executeUserCircuit(initialWitness, entryPointArtifact, buildACIRCallback(oracle)).catch((err)=>{
|
|
180
206
|
err.message = resolveAssertionMessageFromError(err, entryPointArtifact);
|
|
181
207
|
throw new ExecutionError(err.message, {
|
|
182
208
|
contractAddress: call.to,
|
|
@@ -194,7 +220,6 @@ import { UtilityExecutionOracle } from './oracle/utility_execution_oracle.js';
|
|
|
194
220
|
throw createSimulationError(err instanceof Error ? err : new Error('Unknown error during private execution'));
|
|
195
221
|
}
|
|
196
222
|
}
|
|
197
|
-
// docs:end:execute_utility_function
|
|
198
223
|
/**
|
|
199
224
|
* Returns the execution statistics collected during the simulator run.
|
|
200
225
|
* @returns The execution statistics.
|
|
@@ -401,17 +426,17 @@ class OrderedSideEffect {
|
|
|
401
426
|
});
|
|
402
427
|
}
|
|
403
428
|
}
|
|
404
|
-
const [
|
|
405
|
-
|
|
406
|
-
|
|
429
|
+
const [noteHashResults, nullifierResults] = await Promise.all([
|
|
430
|
+
settledNoteHashReads.length > 0 ? node.findLeavesIndexes(anchorBlockHash, MerkleTreeId.NOTE_HASH_TREE, settledNoteHashReads.map(({ value })=>value)) : [],
|
|
431
|
+
settledNullifierReads.length > 0 ? node.findLeavesIndexes(anchorBlockHash, MerkleTreeId.NULLIFIER_TREE, settledNullifierReads.map(({ value })=>value)) : []
|
|
407
432
|
]);
|
|
408
433
|
for(let i = 0; i < settledNoteHashReads.length; i++){
|
|
409
|
-
if (!
|
|
434
|
+
if (!noteHashResults[i]) {
|
|
410
435
|
throw new Error(`Note hash read request at index ${settledNoteHashReads[i].index} is reading an unknown note hash: ${settledNoteHashReads[i].value}`);
|
|
411
436
|
}
|
|
412
437
|
}
|
|
413
438
|
for(let i = 0; i < settledNullifierReads.length; i++){
|
|
414
|
-
if (!
|
|
439
|
+
if (!nullifierResults[i]) {
|
|
415
440
|
throw new Error(`Nullifier read request at index ${settledNullifierReads[i].index} is reading an unknown nullifier: ${settledNullifierReads[i].value}`);
|
|
416
441
|
}
|
|
417
442
|
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
|
+
/** In-memory store for ephemeral arrays scoped to a single contract call frame. */
|
|
3
|
+
export declare class EphemeralArrayService {
|
|
4
|
+
#private;
|
|
5
|
+
/** Returns all elements in the array, or an empty array if uninitialized. */
|
|
6
|
+
readArrayAt(slot: Fr): Fr[][];
|
|
7
|
+
/** Returns the number of elements in the array at the given slot. */
|
|
8
|
+
len(slot: Fr): number;
|
|
9
|
+
/** Appends an element to the array and returns the new length. */
|
|
10
|
+
push(slot: Fr, elements: Fr[]): number;
|
|
11
|
+
/** Removes and returns the last element. Throws if empty. */
|
|
12
|
+
pop(slot: Fr): Fr[];
|
|
13
|
+
/** Returns the element at the given index. Throws if out of bounds. */
|
|
14
|
+
get(slot: Fr, index: number): Fr[];
|
|
15
|
+
/** Overwrites the element at the given index. Throws if out of bounds. */
|
|
16
|
+
set(slot: Fr, index: number, value: Fr[]): void;
|
|
17
|
+
/** Removes the element at the given index, shifting subsequent elements backward. Throws if out of bounds. */
|
|
18
|
+
remove(slot: Fr, index: number): void;
|
|
19
|
+
/** Removes all elements from the array. */
|
|
20
|
+
clear(slot: Fr): void;
|
|
21
|
+
/** Allocates a fresh, unused slot for a new ephemeral array. */
|
|
22
|
+
allocateSlot(): Fr;
|
|
23
|
+
/** Creates a new ephemeral array pre-populated with the given elements and returns its slot. */
|
|
24
|
+
newArray(elements: Fr[][]): Fr;
|
|
25
|
+
/** Copies `count` elements from the source array to the destination array (overwrites destination). */
|
|
26
|
+
copy(srcSlot: Fr, dstSlot: Fr, count: number): void;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXBoZW1lcmFsX2FycmF5X3NlcnZpY2UuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdF9mdW5jdGlvbl9zaW11bGF0b3IvZXBoZW1lcmFsX2FycmF5X3NlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELG1GQUFtRjtBQUNuRixxQkFBYSxxQkFBcUI7O0lBT2hDLDZFQUE2RTtJQUM3RSxXQUFXLENBQUMsSUFBSSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUU1QjtJQU1ELHFFQUFxRTtJQUNyRSxHQUFHLENBQUMsSUFBSSxFQUFFLEVBQUUsR0FBRyxNQUFNLENBRXBCO0lBRUQsa0VBQWtFO0lBQ2xFLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsR0FBRyxNQUFNLENBS3JDO0lBRUQsNkRBQTZEO0lBQzdELEdBQUcsQ0FBQyxJQUFJLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQVFsQjtJQUVELHVFQUF1RTtJQUN2RSxHQUFHLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxHQUFHLEVBQUUsRUFBRSxDQVFqQztJQUVELDBFQUEwRTtJQUMxRSxHQUFHLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBUTlDO0lBRUQsOEdBQThHO0lBQzlHLE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLEdBQUcsSUFBSSxDQVFwQztJQUVELDJDQUEyQztJQUMzQyxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBRXBCO0lBRUQsZ0VBQWdFO0lBQ2hFLFlBQVksSUFBSSxFQUFFLENBTWpCO0lBRUQsZ0dBQWdHO0lBQ2hHLFFBQVEsQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLENBSTdCO0lBRUQsdUdBQXVHO0lBQ3ZHLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sR0FBRyxJQUFJLENBVWxEO0NBQ0YifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ephemeral_array_service.d.ts","sourceRoot":"","sources":["../../src/contract_function_simulator/ephemeral_array_service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,mFAAmF;AACnF,qBAAa,qBAAqB;;IAOhC,6EAA6E;IAC7E,WAAW,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAE5B;IAMD,qEAAqE;IACrE,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,MAAM,CAEpB;IAED,kEAAkE;IAClE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,MAAM,CAKrC;IAED,6DAA6D;IAC7D,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,CAQlB;IAED,uEAAuE;IACvE,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,EAAE,EAAE,CAQjC;IAED,0EAA0E;IAC1E,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,IAAI,CAQ9C;IAED,8GAA8G;IAC9G,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAQpC;IAED,2CAA2C;IAC3C,KAAK,CAAC,IAAI,EAAE,EAAE,GAAG,IAAI,CAEpB;IAED,gEAAgE;IAChE,YAAY,IAAI,EAAE,CAMjB;IAED,gGAAgG;IAChG,QAAQ,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAI7B;IAED,uGAAuG;IACvG,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAUlD;CACF"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
|
+
/** In-memory store for ephemeral arrays scoped to a single contract call frame. */ export class EphemeralArrayService {
|
|
3
|
+
/**
|
|
4
|
+
* Maps a slot to the elements of the array stored at that slot. Each element is a serialized representation of
|
|
5
|
+
* the original type.
|
|
6
|
+
*/ #arrays = new Map();
|
|
7
|
+
/** Returns all elements in the array, or an empty array if uninitialized. */ readArrayAt(slot) {
|
|
8
|
+
return this.#arrays.get(slot.toString()) ?? [];
|
|
9
|
+
}
|
|
10
|
+
#setArray(slot, array) {
|
|
11
|
+
this.#arrays.set(slot.toString(), array);
|
|
12
|
+
}
|
|
13
|
+
/** Returns the number of elements in the array at the given slot. */ len(slot) {
|
|
14
|
+
return this.readArrayAt(slot).length;
|
|
15
|
+
}
|
|
16
|
+
/** Appends an element to the array and returns the new length. */ push(slot, elements) {
|
|
17
|
+
const array = this.readArrayAt(slot);
|
|
18
|
+
array.push(elements);
|
|
19
|
+
this.#setArray(slot, array);
|
|
20
|
+
return array.length;
|
|
21
|
+
}
|
|
22
|
+
/** Removes and returns the last element. Throws if empty. */ pop(slot) {
|
|
23
|
+
const array = this.readArrayAt(slot);
|
|
24
|
+
if (array.length === 0) {
|
|
25
|
+
throw new Error(`Ephemeral array at slot ${slot} is empty`);
|
|
26
|
+
}
|
|
27
|
+
const element = array.pop();
|
|
28
|
+
this.#setArray(slot, array);
|
|
29
|
+
return element;
|
|
30
|
+
}
|
|
31
|
+
/** Returns the element at the given index. Throws if out of bounds. */ get(slot, index) {
|
|
32
|
+
const array = this.readArrayAt(slot);
|
|
33
|
+
if (index < 0 || index >= array.length) {
|
|
34
|
+
throw new Error(`Ephemeral array index ${index} out of bounds for array of length ${array.length} at slot ${slot}`);
|
|
35
|
+
}
|
|
36
|
+
return array[index];
|
|
37
|
+
}
|
|
38
|
+
/** Overwrites the element at the given index. Throws if out of bounds. */ set(slot, index, value) {
|
|
39
|
+
const array = this.readArrayAt(slot);
|
|
40
|
+
if (index < 0 || index >= array.length) {
|
|
41
|
+
throw new Error(`Ephemeral array index ${index} out of bounds for array of length ${array.length} at slot ${slot}`);
|
|
42
|
+
}
|
|
43
|
+
array[index] = value;
|
|
44
|
+
}
|
|
45
|
+
/** Removes the element at the given index, shifting subsequent elements backward. Throws if out of bounds. */ remove(slot, index) {
|
|
46
|
+
const array = this.readArrayAt(slot);
|
|
47
|
+
if (index < 0 || index >= array.length) {
|
|
48
|
+
throw new Error(`Ephemeral array index ${index} out of bounds for array of length ${array.length} at slot ${slot}`);
|
|
49
|
+
}
|
|
50
|
+
array.splice(index, 1);
|
|
51
|
+
}
|
|
52
|
+
/** Removes all elements from the array. */ clear(slot) {
|
|
53
|
+
this.#arrays.delete(slot.toString());
|
|
54
|
+
}
|
|
55
|
+
/** Allocates a fresh, unused slot for a new ephemeral array. */ allocateSlot() {
|
|
56
|
+
let slot;
|
|
57
|
+
do {
|
|
58
|
+
slot = Fr.random();
|
|
59
|
+
}while (this.#arrays.has(slot.toString()))
|
|
60
|
+
return slot;
|
|
61
|
+
}
|
|
62
|
+
/** Creates a new ephemeral array pre-populated with the given elements and returns its slot. */ newArray(elements) {
|
|
63
|
+
const slot = this.allocateSlot();
|
|
64
|
+
this.#setArray(slot, elements);
|
|
65
|
+
return slot;
|
|
66
|
+
}
|
|
67
|
+
/** Copies `count` elements from the source array to the destination array (overwrites destination). */ copy(srcSlot, dstSlot, count) {
|
|
68
|
+
const srcArray = this.readArrayAt(srcSlot);
|
|
69
|
+
if (count > srcArray.length) {
|
|
70
|
+
throw new Error(`Cannot copy ${count} elements from ephemeral array of length ${srcArray.length} at slot ${srcSlot}`);
|
|
71
|
+
}
|
|
72
|
+
// Deep copy the elements to avoid aliasing
|
|
73
|
+
const copied = srcArray.slice(0, count).map((el)=>[
|
|
74
|
+
...el
|
|
75
|
+
]);
|
|
76
|
+
this.#setArray(dstSlot, copied);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
2
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
3
|
-
import type { NoteData } from './
|
|
3
|
+
import type { NoteData } from './noir-structs/note_data.js';
|
|
4
4
|
interface PendingNote {
|
|
5
5
|
note: NoteData;
|
|
6
6
|
counter: number;
|
|
@@ -101,4 +101,4 @@ export declare class ExecutionNoteCache {
|
|
|
101
101
|
getNonceGenerator(): Fr;
|
|
102
102
|
}
|
|
103
103
|
export {};
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0aW9uX25vdGVfY2FjaGUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdF9mdW5jdGlvbl9zaW11bGF0b3IvZXhlY3V0aW9uX25vdGVfY2FjaGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBR2hFLE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTVELFVBQVUsV0FBVztJQUNuQixJQUFJLEVBQUUsUUFBUSxDQUFDO0lBQ2YsT0FBTyxFQUFFLE1BQU0sQ0FBQztJQUNoQixzQkFBc0IsRUFBRSxFQUFFLENBQUM7Q0FDNUI7QUFFRDs7R0FFRztBQUNILHFCQUFhLGtCQUFrQjs7SUFvQ2pCLE9BQU8sQ0FBQyxRQUFRLENBQUMsaUJBQWlCO0lBbkM5Qzs7O09BR0c7SUFDSCxPQUFPLENBQUMsS0FBSyxDQUFxQjtJQUNsQzs7T0FFRztJQUNILE9BQU8sQ0FBQyxPQUFPLENBQXlDO0lBRXhEOzs7O09BSUc7SUFDSCxPQUFPLENBQUMsWUFBWSxDQUF1QztJQUUzRDs7T0FFRztJQUNILE9BQU8sQ0FBQyxpQkFBaUIsQ0FBMEI7SUFFbkQ7O09BRUc7SUFDSCxPQUFPLENBQUMsOEJBQThCLENBQUs7SUFFM0MsT0FBTyxDQUFDLGlCQUFpQixDQUFTO0lBRWxDOzs7T0FHRztJQUNILE9BQU8sQ0FBQyw4QkFBOEIsQ0FBc0I7SUFFNUQsWUFBNkIsaUJBQWlCLEVBQUUsRUFBRSxFQUFJO0lBRXREOzs7T0FHRztJQUNVLGlDQUFpQyxDQUFDLDhCQUE4QixFQUFFLE1BQU0saUJBc0NwRjtJQUVNLDZCQUE2QixDQUFDLGlCQUFpQixFQUFFLE1BQU0sR0FBRyxPQUFPLENBS3ZFO0lBRU0sTUFBTSxTQU1aO0lBRUQ7OztPQUdHO0lBQ0ksVUFBVSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0sUUFTaEQ7SUFFRDs7Ozs7O09BTUc7SUFDVSxXQUFXLENBQUMsZUFBZSxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxFQUFFLCtCQXlCdkY7SUFFRDs7OztPQUlHO0lBQ1UsZ0JBQWdCLENBQUMsZUFBZSxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsRUFBRSxpQkFHOUU7SUFFRDs7Ozs7O1FBTUk7SUFDRyxRQUFRLENBQUMsZUFBZSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsWUFBWSxHQUFHLFNBQVMsRUFBRSxXQUFXLEVBQUUsRUFBRSxjQU05RjtJQUVEOzs7OztRQUtJO0lBQ0csZUFBZSxDQUFDLGVBQWUsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLEVBQUUsV0FHakU7SUFFRDs7O09BR0c7SUFDSSxhQUFhLENBQUMsZUFBZSxFQUFFLFlBQVksR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLENBRS9EO0lBVUQsV0FBVyxJQUFJLFdBQVcsRUFBRSxDQUUzQjtJQUVEOztPQUVHO0lBQ0gsb0JBQW9CLElBQUksRUFBRSxFQUFFLENBRTNCO0lBRUQ7OztPQUdHO0lBQ0gsZ0JBQWdCLElBQUksRUFBRSxFQUFFLENBTXZCO0lBRUQsaUJBQWlCLElBQUksRUFBRSxDQUV0QjtDQWFGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution_note_cache.d.ts","sourceRoot":"","sources":["../../src/contract_function_simulator/execution_note_cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAGhE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"execution_note_cache.d.ts","sourceRoot":"","sources":["../../src/contract_function_simulator/execution_note_cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAGhE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAE5D,UAAU,WAAW;IACnB,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,sBAAsB,EAAE,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,qBAAa,kBAAkB;;IAoCjB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAnC9C;;;OAGG;IACH,OAAO,CAAC,KAAK,CAAqB;IAClC;;OAEG;IACH,OAAO,CAAC,OAAO,CAAyC;IAExD;;;;OAIG;IACH,OAAO,CAAC,YAAY,CAAuC;IAE3D;;OAEG;IACH,OAAO,CAAC,iBAAiB,CAA0B;IAEnD;;OAEG;IACH,OAAO,CAAC,8BAA8B,CAAK;IAE3C,OAAO,CAAC,iBAAiB,CAAS;IAElC;;;OAGG;IACH,OAAO,CAAC,8BAA8B,CAAsB;IAE5D,YAA6B,iBAAiB,EAAE,EAAE,EAAI;IAEtD;;;OAGG;IACU,iCAAiC,CAAC,8BAA8B,EAAE,MAAM,iBAsCpF;IAEM,6BAA6B,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAKvE;IAEM,MAAM,SAMZ;IAED;;;OAGG;IACI,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,QAShD;IAED;;;;;;OAMG;IACU,WAAW,CAAC,eAAe,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,+BAyBvF;IAED;;;;OAIG;IACU,gBAAgB,CAAC,eAAe,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,iBAG9E;IAED;;;;;;QAMI;IACG,QAAQ,CAAC,eAAe,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,GAAG,SAAS,EAAE,WAAW,EAAE,EAAE,cAM9F;IAED;;;;;QAKI;IACG,eAAe,CAAC,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,WAGjE;IAED;;;OAGG;IACI,aAAa,CAAC,eAAe,EAAE,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAE/D;IAUD,WAAW,IAAI,WAAW,EAAE,CAE3B;IAED;;OAEG;IACH,oBAAoB,IAAI,EAAE,EAAE,CAE3B;IAED;;;OAGG;IACH,gBAAgB,IAAI,EAAE,EAAE,CAMvB;IAED,iBAAiB,IAAI,EAAE,CAEtB;CAaF"}
|
|
@@ -1,16 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
/**
|
|
3
|
-
* A map that stores the tagging index range for a given extended directional app tagging secret.
|
|
4
|
-
* Note: The directional app tagging secret is unique for a (sender, recipient, contract) tuple while the direction
|
|
5
|
-
* of sender -> recipient matters.
|
|
6
|
-
*/
|
|
1
|
+
import { AppTaggingSecret, type TaggingIndexRange } from '@aztec/stdlib/logs';
|
|
2
|
+
/** A map that stores the tagging index range for a given app tagging secret. */
|
|
7
3
|
export declare class ExecutionTaggingIndexCache {
|
|
8
4
|
private taggingIndexMap;
|
|
9
|
-
getLastUsedIndex(secret:
|
|
10
|
-
setLastUsedIndex(secret:
|
|
5
|
+
getLastUsedIndex(secret: AppTaggingSecret): number | undefined;
|
|
6
|
+
setLastUsedIndex(secret: AppTaggingSecret, index: number): void;
|
|
11
7
|
/**
|
|
12
8
|
* Returns the tagging index ranges that were used in this execution (and that need to be stored in the db).
|
|
13
9
|
*/
|
|
14
10
|
getUsedTaggingIndexRanges(): TaggingIndexRange[];
|
|
15
11
|
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0aW9uX3RhZ2dpbmdfaW5kZXhfY2FjaGUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdF9mdW5jdGlvbl9zaW11bGF0b3IvZXhlY3V0aW9uX3RhZ2dpbmdfaW5kZXhfY2FjaGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLEtBQUssaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU5RSxnRkFBZ0Y7QUFDaEYscUJBQWEsMEJBQTBCO0lBQ3JDLE9BQU8sQ0FBQyxlQUFlLENBQXlFO0lBRXpGLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsR0FBRyxNQUFNLEdBQUcsU0FBUyxDQUVwRTtJQUVNLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsTUFBTSxRQVU5RDtJQUVEOztPQUVHO0lBQ0kseUJBQXlCLElBQUksaUJBQWlCLEVBQUUsQ0FNdEQ7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution_tagging_index_cache.d.ts","sourceRoot":"","sources":["../../src/contract_function_simulator/execution_tagging_index_cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"execution_tagging_index_cache.d.ts","sourceRoot":"","sources":["../../src/contract_function_simulator/execution_tagging_index_cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE9E,gFAAgF;AAChF,qBAAa,0BAA0B;IACrC,OAAO,CAAC,eAAe,CAAyE;IAEzF,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,GAAG,SAAS,CAEpE;IAEM,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,QAU9D;IAED;;OAEG;IACI,yBAAyB,IAAI,iBAAiB,EAAE,CAMtD;CACF"}
|
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
/**
|
|
3
|
-
* A map that stores the tagging index range for a given extended directional app tagging secret.
|
|
4
|
-
* Note: The directional app tagging secret is unique for a (sender, recipient, contract) tuple while the direction
|
|
5
|
-
* of sender -> recipient matters.
|
|
6
|
-
*/ export class ExecutionTaggingIndexCache {
|
|
1
|
+
import { AppTaggingSecret } from '@aztec/stdlib/logs';
|
|
2
|
+
/** A map that stores the tagging index range for a given app tagging secret. */ export class ExecutionTaggingIndexCache {
|
|
7
3
|
taggingIndexMap = new Map();
|
|
8
4
|
getLastUsedIndex(secret) {
|
|
9
5
|
return this.taggingIndexMap.get(secret.toString())?.highestIndex;
|
|
@@ -26,7 +22,7 @@ import { ExtendedDirectionalAppTaggingSecret } from '@aztec/stdlib/logs';
|
|
|
26
22
|
* Returns the tagging index ranges that were used in this execution (and that need to be stored in the db).
|
|
27
23
|
*/ getUsedTaggingIndexRanges() {
|
|
28
24
|
return Array.from(this.taggingIndexMap.entries()).map(([secret, { lowestIndex, highestIndex }])=>({
|
|
29
|
-
extendedSecret:
|
|
25
|
+
extendedSecret: AppTaggingSecret.fromString(secret),
|
|
30
26
|
lowestIndex,
|
|
31
27
|
highestIndex
|
|
32
28
|
}));
|
|
@@ -1,15 +1,33 @@
|
|
|
1
|
+
export { ORACLE_REGISTRY, makeEntry, type NamedValue, type OracleRegistryEntry, type ParamTypes, } from './oracle/oracle_registry.js';
|
|
2
|
+
export { ARRAY, AZTEC_ADDRESS, BIGINT, BLOCK_HASH, BLOCK_NUMBER, BOOL, BOUNDED_VEC, BUFFER, BYTE, CONTRACT_INSTANCE, DELIVERY_MODE, EPHEMERAL_ARRAY, ETH_ADDRESS, EVENT_VALIDATION_REQUEST, FIELD, FUNCTION_SELECTOR, LOG_RETRIEVAL_REQUEST, LOG_RETRIEVAL_RESPONSE, MEMBERSHIP_WITNESS, MESSAGE_CONTEXT, NOTE_SELECTOR, NOTE_VALIDATION_REQUEST, OPTION, PENDING_TAGGED_LOG, POINT, PROVIDED_SECRET, STR, U32, type InputSlot, type MaybePromise, type OutputSlot, type SlotShape, 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';
|
|
11
16
|
export { executePrivateFunction, extractPrivateCircuitPublicInputs } from './oracle/private_execution.js';
|
|
12
17
|
export { generateSimulatedProvingResult } from './contract_function_simulator.js';
|
|
13
18
|
export { packAsHintedNote } from './oracle/note_packing_utils.js';
|
|
14
|
-
export {
|
|
15
|
-
|
|
19
|
+
export { BoundedVec } from './noir-structs/bounded_vec.js';
|
|
20
|
+
export type { ContractClassLogData } from './noir-structs/contract_class_log_data.js';
|
|
21
|
+
export type { EmbeddedCurvePoint } from './noir-structs/embedded_curve_point.js';
|
|
22
|
+
export { EphemeralArray } from './noir-structs/ephemeral_array.js';
|
|
23
|
+
export { Option } from './noir-structs/option.js';
|
|
24
|
+
export type { UtilityContext } from './noir-structs/utility_context.js';
|
|
25
|
+
export { EventValidationRequest } from './noir-structs/event_validation_request.js';
|
|
26
|
+
export type { LogRetrievalRequest } from './noir-structs/log_retrieval_request.js';
|
|
27
|
+
export type { LogRetrievalResponse } from './noir-structs/log_retrieval_response.js';
|
|
28
|
+
export { NoteValidationRequest } from './noir-structs/note_validation_request.js';
|
|
29
|
+
export type { TxEffectData } from './noir-structs/tx_effect_data.js';
|
|
30
|
+
export type { ProvidedSecret } from './noir-structs/provided_secret.js';
|
|
31
|
+
export { ResolvedTx } from './noir-structs/resolved_tx.js';
|
|
32
|
+
export { TransientArrayService } from './transient_array_service.js';
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdF9mdW5jdGlvbl9zaW11bGF0b3IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGVBQWUsRUFDZixTQUFTLEVBQ1QsS0FBSyxVQUFVLEVBQ2YsS0FBSyxtQkFBbUIsRUFDeEIsS0FBSyxVQUFVLEdBQ2hCLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUNMLEtBQUssRUFDTCxhQUFhLEVBQ2IsTUFBTSxFQUNOLFVBQVUsRUFDVixZQUFZLEVBQ1osSUFBSSxFQUNKLFdBQVcsRUFDWCxNQUFNLEVBQ04sSUFBSSxFQUNKLGlCQUFpQixFQUNqQixhQUFhLEVBQ2IsZUFBZSxFQUNmLFdBQVcsRUFDWCx3QkFBd0IsRUFDeEIsS0FBSyxFQUNMLGlCQUFpQixFQUNqQixxQkFBcUIsRUFDckIsc0JBQXNCLEVBQ3RCLGtCQUFrQixFQUNsQixlQUFlLEVBQ2YsYUFBYSxFQUNiLHVCQUF1QixFQUN2QixNQUFNLEVBQ04sa0JBQWtCLEVBQ2xCLEtBQUssRUFDTCxlQUFlLEVBQ2YsR0FBRyxFQUNILEdBQUcsRUFDSCxLQUFLLFNBQVMsRUFDZCxLQUFLLFlBQVksRUFDakIsS0FBSyxVQUFVLEVBQ2YsS0FBSyxTQUFTLEVBQ2QsS0FBSyxXQUFXLEdBQ2pCLE1BQU0sa0NBQWtDLENBQUM7QUFDMUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDaEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLFlBQVksRUFBRSxXQUFXLEVBQUUsdUJBQXVCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RyxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzVELFlBQVksRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzNGLFlBQVksRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzFHLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRCxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUN0RixZQUFZLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNqRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbkUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xELFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNwRixZQUFZLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNuRixZQUFZLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNyRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNsRixZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQyJ9
|
|
@@ -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":"AAAA,OAAO,EACL,eAAe,EACf,SAAS,EACT,KAAK,UAAU,EACf,KAAK,mBAAmB,EACxB,KAAK,UAAU,GAChB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,KAAK,EACL,aAAa,EACb,MAAM,EACN,UAAU,EACV,YAAY,EACZ,IAAI,EACJ,WAAW,EACX,MAAM,EACN,IAAI,EACJ,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,WAAW,EACX,wBAAwB,EACxB,KAAK,EACL,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,uBAAuB,EACvB,MAAM,EACN,kBAAkB,EAClB,KAAK,EACL,eAAe,EACf,GAAG,EACH,GAAG,EACH,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,WAAW,GACjB,MAAM,kCAAkC,CAAC;AAC1C,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,WAAW,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAC5G,YAAY,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACxE,YAAY,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,YAAY,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAC;AAC3F,YAAY,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACtF,OAAO,EAAE,sBAAsB,EAAE,iCAAiC,EAAE,MAAM,+BAA+B,CAAC;AAC1G,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,YAAY,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACtF,YAAY,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,YAAY,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AACpF,YAAY,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AACnF,YAAY,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AACrF,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAClF,YAAY,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AACrE,YAAY,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC"}
|
|
@@ -1,13 +1,20 @@
|
|
|
1
|
+
export { ORACLE_REGISTRY, makeEntry } from './oracle/oracle_registry.js';
|
|
2
|
+
export { ARRAY, AZTEC_ADDRESS, BIGINT, BLOCK_HASH, BLOCK_NUMBER, BOOL, BOUNDED_VEC, BUFFER, BYTE, CONTRACT_INSTANCE, DELIVERY_MODE, EPHEMERAL_ARRAY, ETH_ADDRESS, EVENT_VALIDATION_REQUEST, FIELD, FUNCTION_SELECTOR, LOG_RETRIEVAL_REQUEST, LOG_RETRIEVAL_RESPONSE, MEMBERSHIP_WITNESS, MESSAGE_CONTEXT, NOTE_SELECTOR, NOTE_VALIDATION_REQUEST, OPTION, PENDING_TAGGED_LOG, POINT, PROVIDED_SECRET, STR, U32 } 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';
|
|
10
11
|
export { executePrivateFunction, extractPrivateCircuitPublicInputs } from './oracle/private_execution.js';
|
|
11
12
|
export { generateSimulatedProvingResult } from './contract_function_simulator.js';
|
|
12
13
|
export { packAsHintedNote } from './oracle/note_packing_utils.js';
|
|
13
|
-
export {
|
|
14
|
+
export { BoundedVec } from './noir-structs/bounded_vec.js';
|
|
15
|
+
export { EphemeralArray } from './noir-structs/ephemeral_array.js';
|
|
16
|
+
export { Option } from './noir-structs/option.js';
|
|
17
|
+
export { EventValidationRequest } from './noir-structs/event_validation_request.js';
|
|
18
|
+
export { NoteValidationRequest } from './noir-structs/note_validation_request.js';
|
|
19
|
+
export { ResolvedTx } from './noir-structs/resolved_tx.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 { };
|