@aztec/pxe 0.0.1-commit.001888fc → 0.0.1-commit.017a351
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 +43 -99
- 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 +26 -0
- package/dest/bin/oracle_version_helpers.d.ts.map +1 -0
- package/dest/bin/oracle_version_helpers.js +93 -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 +62 -0
- package/dest/block_synchronizer/block_synchronizer.d.ts +6 -2
- package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -1
- package/dest/block_synchronizer/block_synchronizer.js +30 -10
- package/dest/config/index.d.ts +7 -1
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +12 -14
- package/dest/config/package_info.js +1 -1
- package/dest/contract_function_simulator/contract_function_simulator.d.ts +9 -4
- package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
- package/dest/contract_function_simulator/contract_function_simulator.js +35 -14
- 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 +13 -2
- package/dest/contract_function_simulator/index.d.ts.map +1 -1
- package/dest/contract_function_simulator/index.js +10 -0
- package/dest/contract_function_simulator/noir-structs/bounded_vec.d.ts +48 -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 +45 -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 +6 -8
- package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts +13 -3
- 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 +35 -4
- package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts +1 -1
- package/dest/contract_function_simulator/noir-structs/log_retrieval_response.js +1 -1
- 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 +6 -8
- package/dest/contract_function_simulator/noir-structs/option.d.ts +61 -0
- package/dest/contract_function_simulator/noir-structs/option.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/option.js +62 -0
- package/dest/contract_function_simulator/noir-structs/provided_secret.d.ts +11 -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 +24 -0
- package/dest/contract_function_simulator/oracle/interfaces.d.ts +16 -102
- 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/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.d.ts +74 -45
- package/dest/contract_function_simulator/oracle/oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/oracle.js +405 -270
- package/dest/contract_function_simulator/oracle/oracle_registry.d.ts +127 -0
- package/dest/contract_function_simulator/oracle/oracle_registry.d.ts.map +1 -0
- package/dest/contract_function_simulator/oracle/oracle_registry.js +786 -0
- package/dest/contract_function_simulator/oracle/oracle_type_mappings.d.ts +139 -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 +560 -0
- package/dest/contract_function_simulator/oracle/private_execution.js +1 -1
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +33 -39
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/private_execution_oracle.js +70 -54
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +104 -60
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +374 -160
- 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_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 +7 -8
- package/dest/contract_sync/contract_sync_service.d.ts.map +1 -1
- package/dest/contract_sync/contract_sync_service.js +87 -49
- package/dest/contract_sync/helpers.d.ts +2 -4
- package/dest/contract_sync/helpers.d.ts.map +1 -1
- package/dest/contract_sync/helpers.js +12 -14
- 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 +13 -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 +13 -5
- package/dest/entrypoints/pxe_creation_options.d.ts +9 -1
- 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 +3 -3
- package/dest/entrypoints/server/index.d.ts.map +1 -1
- package/dest/entrypoints/server/index.js +2 -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 +13 -5
- 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 +42 -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/logs/log_service.d.ts +9 -9
- package/dest/logs/log_service.d.ts.map +1 -1
- package/dest/logs/log_service.js +126 -72
- package/dest/messages/message_context_service.d.ts +3 -3
- package/dest/messages/message_context_service.d.ts.map +1 -1
- package/dest/messages/message_context_service.js +30 -11
- 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 +2 -3
- 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 +56 -10
- package/dest/pxe.d.ts.map +1 -1
- package/dest/pxe.js +139 -88
- package/dest/storage/anchor_block_store/anchor_block_store.js +1 -1
- 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 +591 -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 +50 -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 +9 -26
- package/dest/storage/metadata.d.ts +1 -1
- package/dest/storage/metadata.js +1 -1
- package/dest/storage/note_store/note_store.d.ts +1 -1
- package/dest/storage/note_store/note_store.d.ts.map +1 -1
- package/dest/storage/note_store/note_store.js +2 -2
- package/dest/storage/open_pxe_stores.d.ts +33 -0
- package/dest/storage/open_pxe_stores.d.ts.map +1 -0
- package/dest/storage/open_pxe_stores.js +27 -0
- package/dest/storage/private_event_store/private_event_store.d.ts +1 -1
- package/dest/storage/private_event_store/private_event_store.d.ts.map +1 -1
- package/dest/storage/private_event_store/private_event_store.js +3 -0
- package/dest/storage/private_event_store/stored_private_event.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/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 +56 -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 +163 -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 +49 -122
- package/src/bin/index.ts +1 -0
- package/src/bin/oracle_version_helpers.ts +121 -0
- package/src/block_synchronizer/block_stream_source.ts +81 -0
- package/src/block_synchronizer/block_synchronizer.ts +33 -11
- package/src/config/index.ts +14 -8
- package/src/config/package_info.ts +1 -1
- package/src/contract_function_simulator/contract_function_simulator.ts +55 -17
- 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 +50 -1
- package/src/contract_function_simulator/noir-structs/bounded_vec.ts +55 -0
- package/src/contract_function_simulator/noir-structs/ephemeral_array.ts +66 -0
- package/src/contract_function_simulator/noir-structs/event_validation_request.ts +4 -6
- package/src/contract_function_simulator/noir-structs/log_retrieval_request.ts +36 -3
- package/src/contract_function_simulator/noir-structs/log_retrieval_response.ts +1 -1
- package/src/contract_function_simulator/noir-structs/note_data.ts +27 -0
- package/src/contract_function_simulator/noir-structs/note_validation_request.ts +4 -6
- package/src/contract_function_simulator/noir-structs/option.ts +69 -0
- package/src/contract_function_simulator/noir-structs/provided_secret.ts +27 -0
- package/src/contract_function_simulator/oracle/interfaces.ts +12 -175
- package/src/contract_function_simulator/oracle/note_packing_utils.ts +3 -3
- package/src/contract_function_simulator/oracle/oracle.ts +498 -442
- package/src/contract_function_simulator/oracle/oracle_registry.ts +585 -0
- package/src/contract_function_simulator/oracle/oracle_type_mappings.ts +553 -0
- package/src/contract_function_simulator/oracle/private_execution.ts +1 -1
- package/src/contract_function_simulator/oracle/private_execution_oracle.ts +93 -75
- package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +547 -265
- 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_logging.ts +18 -5
- package/src/contract_sync/contract_sync_service.ts +120 -83
- package/src/contract_sync/helpers.ts +13 -25
- 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 +10 -5
- package/src/entrypoints/client/lazy/index.ts +0 -1
- package/src/entrypoints/client/lazy/utils.ts +10 -5
- package/src/entrypoints/pxe_creation_options.ts +14 -0
- package/src/entrypoints/server/index.ts +2 -2
- package/src/entrypoints/server/utils.ts +15 -6
- 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 +48 -0
- package/src/hooks/index.ts +7 -0
- package/src/logs/log_service.ts +158 -134
- package/src/messages/message_context_service.ts +43 -26
- 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 +2 -9
- 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 +227 -92
- package/src/storage/anchor_block_store/anchor_block_store.ts +1 -1
- 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__/KeyStore.json +52 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/L2TipsKVStore.json +46 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/NoteStore.json +36 -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__/SenderAddressBookStore.json +16 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/SenderTaggingStore.json +22 -0
- package/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json +97 -0
- package/src/storage/backwards_compatibility_tests/kv_store_snapshot.ts +122 -0
- package/src/storage/backwards_compatibility_tests/schema_tests.ts +712 -0
- package/src/storage/backwards_compatibility_tests/store_spy.ts +73 -0
- package/src/storage/capsule_store/capsule_service.ts +90 -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 +14 -35
- package/src/storage/metadata.ts +1 -1
- package/src/storage/note_store/note_store.ts +2 -5
- package/src/storage/open_pxe_stores.ts +49 -0
- package/src/storage/private_event_store/private_event_store.ts +4 -0
- package/src/storage/private_event_store/stored_private_event.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/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 +240 -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 -43
- 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 -142
- 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
|
@@ -1,36 +1,31 @@
|
|
|
1
1
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
|
-
import { type
|
|
3
|
-
import { type FunctionAbi, type FunctionCall, FunctionSelector, type NoteSelector } from '@aztec/stdlib/abi';
|
|
2
|
+
import { type FunctionAbi, FunctionSelector, type NoteSelector } from '@aztec/stdlib/abi';
|
|
4
3
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
5
4
|
import { PrivateContextInputs } from '@aztec/stdlib/kernel';
|
|
6
|
-
import { type ContractClassLog, type TaggingIndexRange } from '@aztec/stdlib/logs';
|
|
7
|
-
import { Tag } from '@aztec/stdlib/logs';
|
|
5
|
+
import { AppTaggingSecretKind, type ContractClassLog, type TaggingIndexRange } from '@aztec/stdlib/logs';
|
|
8
6
|
import { type NoteStatus } from '@aztec/stdlib/note';
|
|
9
7
|
import { CallContext, CountedContractClassLog, NoteAndSlot, PrivateCallExecutionResult, type TxContext } from '@aztec/stdlib/tx';
|
|
10
|
-
import type { AccessScopes } from '../../access_scopes.js';
|
|
11
|
-
import type { ContractSyncService } from '../../contract_sync/contract_sync_service.js';
|
|
12
8
|
import type { SenderTaggingStore } from '../../storage/tagging_store/sender_tagging_store.js';
|
|
13
9
|
import type { ExecutionNoteCache } from '../execution_note_cache.js';
|
|
14
10
|
import { ExecutionTaggingIndexCache } from '../execution_tagging_index_cache.js';
|
|
15
11
|
import type { HashedValuesCache } from '../hashed_values_cache.js';
|
|
16
|
-
import
|
|
12
|
+
import { BoundedVec } from '../noir-structs/bounded_vec.js';
|
|
13
|
+
import type { NoteData } from '../noir-structs/note_data.js';
|
|
14
|
+
import { Option } from '../noir-structs/option.js';
|
|
15
|
+
import type { IPrivateExecutionOracle } from './interfaces.js';
|
|
17
16
|
import { UtilityExecutionOracle, type UtilityExecutionOracleArgs } from './utility_execution_oracle.js';
|
|
18
17
|
/** Args for PrivateExecutionOracle constructor. */
|
|
19
18
|
export type PrivateExecutionOracleArgs = Omit<UtilityExecutionOracleArgs, 'contractAddress'> & {
|
|
20
19
|
argsHash: Fr;
|
|
21
20
|
txContext: TxContext;
|
|
22
21
|
callContext: CallContext;
|
|
23
|
-
/** Needed to trigger contract synchronization before nested calls */
|
|
24
|
-
utilityExecutor: (call: FunctionCall, scopes: AccessScopes) => Promise<void>;
|
|
25
22
|
executionCache: HashedValuesCache;
|
|
26
23
|
noteCache: ExecutionNoteCache;
|
|
27
24
|
taggingIndexCache: ExecutionTaggingIndexCache;
|
|
28
25
|
senderTaggingStore: SenderTaggingStore;
|
|
29
|
-
contractSyncService: ContractSyncService;
|
|
30
26
|
totalPublicCalldataCount?: number;
|
|
31
27
|
sideEffectCounter?: number;
|
|
32
28
|
senderForTags?: AztecAddress;
|
|
33
|
-
simulator?: CircuitSimulator;
|
|
34
29
|
};
|
|
35
30
|
/**
|
|
36
31
|
* The execution oracle for the private part of a transaction.
|
|
@@ -53,16 +48,14 @@ export declare class PrivateExecutionOracle extends UtilityExecutionOracle imple
|
|
|
53
48
|
private readonly argsHash;
|
|
54
49
|
private readonly txContext;
|
|
55
50
|
private readonly callContext;
|
|
56
|
-
private readonly utilityExecutor;
|
|
57
51
|
private readonly executionCache;
|
|
58
52
|
private readonly noteCache;
|
|
59
53
|
private readonly taggingIndexCache;
|
|
60
54
|
private readonly senderTaggingStore;
|
|
61
|
-
private readonly contractSyncService;
|
|
62
55
|
private totalPublicCalldataCount;
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
private readonly
|
|
56
|
+
private readonly initialSideEffectCounter;
|
|
57
|
+
/** Sender for tags passed in at oracle construction time. Returned by `getSenderForTags`. */
|
|
58
|
+
private readonly defaultSenderForTags;
|
|
66
59
|
constructor(args: PrivateExecutionOracleArgs);
|
|
67
60
|
getPrivateContextInputs(): PrivateContextInputs;
|
|
68
61
|
/**
|
|
@@ -95,42 +88,41 @@ export declare class PrivateExecutionOracle extends UtilityExecutionOracle imple
|
|
|
95
88
|
* for a tag in order to emit a log. Constrained tagging should not use this as there is no
|
|
96
89
|
* guarantee that the recipient knows about the sender, and hence about the shared secret.
|
|
97
90
|
*
|
|
98
|
-
*
|
|
99
|
-
* 'senderForTags' value (unless it is replaced).
|
|
91
|
+
* Returns the wallet-supplied default sender for tags, or `None` if no default was provided.
|
|
100
92
|
*/
|
|
101
|
-
getSenderForTags(): Promise<AztecAddress
|
|
93
|
+
getSenderForTags(): Promise<Option<AztecAddress>>;
|
|
102
94
|
/**
|
|
103
|
-
*
|
|
95
|
+
* Returns the sender-side app tagging secret for a `(sender, recipient)` pair.
|
|
104
96
|
*
|
|
105
|
-
*
|
|
106
|
-
*
|
|
107
|
-
* guarantee that the recipient knows about the sender, and hence about the shared secret.
|
|
97
|
+
* The caller obtains an index via {@link getNextTaggingIndex} and computes the final tag itself.
|
|
98
|
+
* The only expected `None` case is an invalid recipient address; missing sender data fails while deriving.
|
|
108
99
|
*
|
|
109
|
-
* Account contracts typically set this value before calling other contracts. The value persists
|
|
110
|
-
* through nested calls, meaning all calls down the stack will use the same 'senderForTags'
|
|
111
|
-
* value (unless it is replaced by another call to this setter).
|
|
112
|
-
*/
|
|
113
|
-
setSenderForTags(senderForTags: AztecAddress): Promise<void>;
|
|
114
|
-
/**
|
|
115
|
-
* Returns the next app tag for a given sender and recipient pair.
|
|
116
100
|
* @param sender - The address sending the log
|
|
117
101
|
* @param recipient - The address receiving the log
|
|
118
|
-
* @returns
|
|
102
|
+
* @returns The app tagging secret, or `None` if the recipient is invalid.
|
|
103
|
+
*/
|
|
104
|
+
getAppTaggingSecret(sender: AztecAddress, recipient: AztecAddress): Promise<Option<Fr>>;
|
|
105
|
+
/**
|
|
106
|
+
* Returns the next sender-side tagging index for a given secret and delivery mode.
|
|
107
|
+
*
|
|
108
|
+
* @param secret - The tagging secret to allocate an index for.
|
|
109
|
+
* @param kind - The sender-side index namespace.
|
|
110
|
+
* @returns The next index to use for this secret.
|
|
119
111
|
*/
|
|
120
|
-
|
|
112
|
+
getNextTaggingIndex(secret: Fr, kind: AppTaggingSecretKind): Promise<number>;
|
|
121
113
|
/**
|
|
122
114
|
* Store values in the execution cache.
|
|
123
115
|
* @param values - Values to store.
|
|
124
116
|
* @returns The hash of the values.
|
|
125
117
|
*/
|
|
126
|
-
|
|
118
|
+
setHashPreimage(values: Fr[], hash: Fr): void;
|
|
127
119
|
/**
|
|
128
120
|
* Gets values from the execution cache.
|
|
129
121
|
* @param hash - Hash of the values.
|
|
130
122
|
* @returns The values.
|
|
131
123
|
*/
|
|
132
|
-
|
|
133
|
-
|
|
124
|
+
getHashPreimage(hash: Fr): Promise<Fr[]>;
|
|
125
|
+
doesNullifierExist(innerNullifier: Fr): Promise<boolean>;
|
|
134
126
|
/**
|
|
135
127
|
* Gets some notes for a storage slot.
|
|
136
128
|
*
|
|
@@ -152,7 +144,7 @@ export declare class PrivateExecutionOracle extends UtilityExecutionOracle imple
|
|
|
152
144
|
* @param status - The status of notes to fetch.
|
|
153
145
|
* @returns Array of note data.
|
|
154
146
|
*/
|
|
155
|
-
getNotes(owner: AztecAddress
|
|
147
|
+
getNotes(owner: Option<AztecAddress>, storageSlot: Fr, numSelects: number, selectByIndexes: number[], selectByOffsets: number[], selectByLengths: number[], selectValues: Fr[], selectComparators: number[], sortByIndexes: number[], sortByOffsets: number[], sortByLengths: number[], sortOrder: number[], limit: number, offset: number, status: NoteStatus, maxNotes: number, packedHintedNoteLength: number): Promise<BoundedVec<NoteData>>;
|
|
156
148
|
/**
|
|
157
149
|
* Keep track of the new note created during execution.
|
|
158
150
|
* It can be used in subsequent calls (or transactions when chaining txs is possible).
|
|
@@ -209,10 +201,12 @@ export declare class PrivateExecutionOracle extends UtilityExecutionOracle imple
|
|
|
209
201
|
returnsHash: Fr;
|
|
210
202
|
}>;
|
|
211
203
|
/** Validates the calldata preimage exists in the cache and checks cumulative calldata size is within limits. */
|
|
212
|
-
|
|
204
|
+
assertValidPublicCalldata(calldataHash: Fr): Promise<void>;
|
|
205
|
+
getTotalPublicCalldataCount(): number;
|
|
213
206
|
notifyRevertiblePhaseStart(minRevertibleSideEffectCounter: number): Promise<void>;
|
|
214
|
-
|
|
207
|
+
isExecutionInRevertiblePhase(sideEffectCounter: number): Promise<boolean>;
|
|
215
208
|
private deriveCallContext;
|
|
216
209
|
getDebugFunctionName(): Promise<string>;
|
|
210
|
+
protected get callerContext(): "private" | "private view";
|
|
217
211
|
}
|
|
218
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
212
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9leGVjdXRpb25fb3JhY2xlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL29yYWNsZS9wcml2YXRlX2V4ZWN1dGlvbl9vcmFjbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBSXBELE9BQU8sRUFDTCxLQUFLLFdBQVcsRUFFaEIsZ0JBQWdCLEVBQ2hCLEtBQUssWUFBWSxFQUVsQixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RCxPQUFPLEVBRUwsb0JBQW9CLEVBQ3BCLEtBQUssZ0JBQWdCLEVBQ3JCLEtBQUssaUJBQWlCLEVBQ3ZCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFRLEtBQUssVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDM0QsT0FBTyxFQUNMLFdBQVcsRUFDWCx1QkFBdUIsRUFDdkIsV0FBVyxFQUNYLDBCQUEwQixFQUMxQixLQUFLLFNBQVMsRUFDZixNQUFNLGtCQUFrQixDQUFDO0FBRzFCLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFFOUYsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNqRixPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM1RCxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"private_execution_oracle.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/private_execution_oracle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"private_execution_oracle.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/private_execution_oracle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAIpD,OAAO,EACL,KAAK,WAAW,EAEhB,gBAAgB,EAChB,KAAK,YAAY,EAElB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAEL,oBAAoB,EACpB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EACL,WAAW,EACX,uBAAuB,EACvB,WAAW,EACX,0BAA0B,EAC1B,KAAK,SAAS,EACf,MAAM,kBAAkB,CAAC;AAG1B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qDAAqD,CAAC;AAE9F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAEnD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE/D,OAAO,EAAE,sBAAsB,EAAE,KAAK,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAExG,mDAAmD;AACnD,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAAC,0BAA0B,EAAE,iBAAiB,CAAC,GAAG;IAC7F,QAAQ,EAAE,EAAE,CAAC;IACb,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,EAAE,iBAAiB,CAAC;IAClC,SAAS,EAAE,kBAAkB,CAAC;IAC9B,iBAAiB,EAAE,0BAA0B,CAAC;IAC9C,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,YAAY,CAAC;CAC9B,CAAC;AAEF;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,sBAAuB,YAAW,uBAAuB;;IACnG,SAAS,OAAiB;IAE1B;;;;;;;OAOG;IACH,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,2BAA2B,CAAkC;IACrE,OAAO,CAAC,iBAAiB,CAAiC;IAC1D,OAAO,CAAC,sBAAsB,CAAoC;IAElE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAK;IAC9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAoB;IACnD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAC/C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA6B;IAC/D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IACxD,OAAO,CAAC,wBAAwB,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAS;IAClD,6FAA6F;IAC7F,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA2B;IAEhE,YAAY,IAAI,EAAE,0BAA0B,EAgB3C;IAEM,uBAAuB,IAAI,oBAAoB,CAOrD;IAID;;;;OAIG;IACI,iBAAiB,CAAC,GAAG,EAAE,WAAW,uBAgBxC;IAED;;OAEG;IACI,WAAW,IAAI,WAAW,EAAE,CAElC;IAEM,8BAA8B,wBAEpC;IAED;;OAEG;IACI,oBAAoB,8BAE1B;IAED;;OAEG;IACI,yBAAyB,IAAI,iBAAiB,EAAE,CAEtD;IAED;;OAEG;IACI,yBAAyB,iCAE/B;IAED;;;;;;;;OAQG;IACI,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAIvD;IAED;;;;;;;;;OASG;IACU,mBAAmB,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAWnG;IAED;;;;;;OAMG;IACU,mBAAmB,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,CAKxF;IA8CD;;;;OAIG;IACI,eAAe,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,QAE5C;IAED;;;;OAIG;IACI,eAAe,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,CAM9C;IAEc,kBAAkB,CAAC,cAAc,EAAE,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAetE;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACmB,QAAQ,CAC5B,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,EAC3B,WAAW,EAAE,EAAE,EACf,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EAAE,EACzB,eAAe,EAAE,MAAM,EAAE,EACzB,eAAe,EAAE,MAAM,EAAE,EACzB,YAAY,EAAE,EAAE,EAAE,EAClB,iBAAiB,EAAE,MAAM,EAAE,EAC3B,aAAa,EAAE,MAAM,EAAE,EACvB,aAAa,EAAE,MAAM,EAAE,EACvB,aAAa,EAAE,MAAM,EAAE,EACvB,SAAS,EAAE,MAAM,EAAE,EACnB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,MAAM,EAChB,sBAAsB,EAAE,MAAM,GAC7B,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAqC/B;IAED;;;;;;;;;;OAUG;IACI,iBAAiB,CACtB,KAAK,EAAE,YAAY,EACnB,WAAW,EAAE,EAAE,EACf,UAAU,EAAE,EAAE,EACd,UAAU,EAAE,YAAY,EACxB,SAAS,EAAE,EAAE,EAAE,EACf,QAAQ,EAAE,EAAE,EACZ,OAAO,EAAE,MAAM,QA0BhB;IAED;;;;;OAKG;IACU,mBAAmB,CAAC,cAAc,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,iBASjF;IAED;;;;;OAKG;IACI,sBAAsB,CAAC,cAAc,EAAE,EAAE,iBAG/C;IAED;;;;;;OAMG;IACU,kBAAkB,CAAC,cAAc,EAAE,EAAE,EAAE,eAAe,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAInG;IAED;;;;;;OAMG;IACI,6BAA6B,CAAC,GAAG,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,QAM1E;IAcD;;;;;;;;OAQG;IACG,mBAAmB,CACvB,qBAAqB,EAAE,YAAY,EACnC,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,EAAE,EACZ,iBAAiB,EAAE,MAAM,EACzB,YAAY,EAAE,OAAO;;;OAiGtB;IAED,gHAAgH;IACzG,yBAAyB,CAAC,YAAY,EAAE,EAAE,iBAWhD;IAEM,2BAA2B,IAAI,MAAM,CAE3C;IAEM,0BAA0B,CAAC,8BAA8B,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEvF;IAEM,4BAA4B,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE/E;YASa,iBAAiB;IAaxB,oBAAoB,oBAE1B;IAED,cAAuB,aAAa,+BAEnC;CACF"}
|
|
@@ -4,14 +4,16 @@ import { createLogger } from '@aztec/foundation/log';
|
|
|
4
4
|
import { Timer } from '@aztec/foundation/timer';
|
|
5
5
|
import { toACVMWitness } from '@aztec/simulator/client';
|
|
6
6
|
import { FunctionSelector, countArgumentsSize } from '@aztec/stdlib/abi';
|
|
7
|
+
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
7
8
|
import { siloNullifier } from '@aztec/stdlib/hash';
|
|
8
9
|
import { PrivateContextInputs } from '@aztec/stdlib/kernel';
|
|
9
|
-
import {
|
|
10
|
-
import { Tag } from '@aztec/stdlib/logs';
|
|
10
|
+
import { AppTaggingSecret } from '@aztec/stdlib/logs';
|
|
11
11
|
import { Note } from '@aztec/stdlib/note';
|
|
12
12
|
import { CallContext, CountedContractClassLog, NoteAndSlot } from '@aztec/stdlib/tx';
|
|
13
13
|
import { NoteService } from '../../notes/note_service.js';
|
|
14
14
|
import { syncSenderTaggingIndexes } from '../../tagging/index.js';
|
|
15
|
+
import { BoundedVec } from '../noir-structs/bounded_vec.js';
|
|
16
|
+
import { Option } from '../noir-structs/option.js';
|
|
15
17
|
import { pickNotes } from '../pick_notes.js';
|
|
16
18
|
import { executePrivateFunction } from './private_execution.js';
|
|
17
19
|
import { UtilityExecutionOracle } from './utility_execution_oracle.js';
|
|
@@ -33,16 +35,13 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
|
|
|
33
35
|
argsHash;
|
|
34
36
|
txContext;
|
|
35
37
|
callContext;
|
|
36
|
-
utilityExecutor;
|
|
37
38
|
executionCache;
|
|
38
39
|
noteCache;
|
|
39
40
|
taggingIndexCache;
|
|
40
41
|
senderTaggingStore;
|
|
41
|
-
contractSyncService;
|
|
42
42
|
totalPublicCalldataCount;
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
simulator;
|
|
43
|
+
initialSideEffectCounter;
|
|
44
|
+
/** Sender for tags passed in at oracle construction time. Returned by `getSenderForTags`. */ defaultSenderForTags;
|
|
46
45
|
constructor(args){
|
|
47
46
|
super({
|
|
48
47
|
...args,
|
|
@@ -52,19 +51,16 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
|
|
|
52
51
|
this.argsHash = args.argsHash;
|
|
53
52
|
this.txContext = args.txContext;
|
|
54
53
|
this.callContext = args.callContext;
|
|
55
|
-
this.utilityExecutor = args.utilityExecutor;
|
|
56
54
|
this.executionCache = args.executionCache;
|
|
57
55
|
this.noteCache = args.noteCache;
|
|
58
56
|
this.taggingIndexCache = args.taggingIndexCache;
|
|
59
57
|
this.senderTaggingStore = args.senderTaggingStore;
|
|
60
|
-
this.contractSyncService = args.contractSyncService;
|
|
61
58
|
this.totalPublicCalldataCount = args.totalPublicCalldataCount ?? 0;
|
|
62
|
-
this.
|
|
63
|
-
this.
|
|
64
|
-
this.simulator = args.simulator;
|
|
59
|
+
this.initialSideEffectCounter = args.sideEffectCounter ?? 0;
|
|
60
|
+
this.defaultSenderForTags = args.senderForTags;
|
|
65
61
|
}
|
|
66
62
|
getPrivateContextInputs() {
|
|
67
|
-
return new PrivateContextInputs(this.callContext, this.anchorBlockHeader, this.txContext, this.
|
|
63
|
+
return new PrivateContextInputs(this.callContext, this.anchorBlockHeader, this.txContext, this.initialSideEffectCounter);
|
|
68
64
|
}
|
|
69
65
|
// We still need this function until we can get user-defined ordering of structs for fn arguments
|
|
70
66
|
// TODO When that is sorted out on noir side, we can use instead the utilities in serialize.ts
|
|
@@ -118,44 +114,50 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
|
|
|
118
114
|
* for a tag in order to emit a log. Constrained tagging should not use this as there is no
|
|
119
115
|
* guarantee that the recipient knows about the sender, and hence about the shared secret.
|
|
120
116
|
*
|
|
121
|
-
*
|
|
122
|
-
* 'senderForTags' value (unless it is replaced).
|
|
117
|
+
* Returns the wallet-supplied default sender for tags, or `None` if no default was provided.
|
|
123
118
|
*/ getSenderForTags() {
|
|
124
|
-
return Promise.resolve(this.
|
|
119
|
+
return Promise.resolve(this.defaultSenderForTags ? Option.some(this.defaultSenderForTags) : Option.none(AztecAddress.ZERO));
|
|
125
120
|
}
|
|
126
121
|
/**
|
|
127
|
-
*
|
|
122
|
+
* Returns the sender-side app tagging secret for a `(sender, recipient)` pair.
|
|
128
123
|
*
|
|
129
|
-
*
|
|
130
|
-
*
|
|
131
|
-
* guarantee that the recipient knows about the sender, and hence about the shared secret.
|
|
124
|
+
* The caller obtains an index via {@link getNextTaggingIndex} and computes the final tag itself.
|
|
125
|
+
* The only expected `None` case is an invalid recipient address; missing sender data fails while deriving.
|
|
132
126
|
*
|
|
133
|
-
* Account contracts typically set this value before calling other contracts. The value persists
|
|
134
|
-
* through nested calls, meaning all calls down the stack will use the same 'senderForTags'
|
|
135
|
-
* value (unless it is replaced by another call to this setter).
|
|
136
|
-
*/ setSenderForTags(senderForTags) {
|
|
137
|
-
this.senderForTags = senderForTags;
|
|
138
|
-
return Promise.resolve();
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* Returns the next app tag for a given sender and recipient pair.
|
|
142
127
|
* @param sender - The address sending the log
|
|
143
128
|
* @param recipient - The address receiving the log
|
|
144
|
-
* @returns
|
|
145
|
-
*/ async
|
|
146
|
-
const extendedSecret = await this.#
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
129
|
+
* @returns The app tagging secret, or `None` if the recipient is invalid.
|
|
130
|
+
*/ async getAppTaggingSecret(sender, recipient) {
|
|
131
|
+
const extendedSecret = await this.#calculateAppTaggingSecret(this.contractAddress, sender, recipient);
|
|
132
|
+
if (!extendedSecret) {
|
|
133
|
+
this.logger.warn(`Computing a tagging secret for invalid recipient ${recipient} - returning no secret`, {
|
|
134
|
+
contractAddress: this.contractAddress
|
|
135
|
+
});
|
|
136
|
+
return Option.none(Fr.ZERO);
|
|
137
|
+
}
|
|
138
|
+
return Option.some(extendedSecret.secret);
|
|
154
139
|
}
|
|
155
|
-
|
|
140
|
+
/**
|
|
141
|
+
* Returns the next sender-side tagging index for a given secret and delivery mode.
|
|
142
|
+
*
|
|
143
|
+
* @param secret - The tagging secret to allocate an index for.
|
|
144
|
+
* @param kind - The sender-side index namespace.
|
|
145
|
+
* @returns The next index to use for this secret.
|
|
146
|
+
*/ async getNextTaggingIndex(secret, kind) {
|
|
147
|
+
const appTaggingSecret = new AppTaggingSecret(secret, this.contractAddress, kind);
|
|
148
|
+
const index = await this.#reserveNextIndexForSecret(appTaggingSecret);
|
|
149
|
+
this.logger.debug(`Incrementing ${kind} tagging index for secret in contract ${this.contractAddress} to ${index}`);
|
|
150
|
+
return index;
|
|
151
|
+
}
|
|
152
|
+
/** Resolves the next index for a given tagging secret, syncing from chain if it is missing from the in-tx cache. */ async #reserveNextIndexForSecret(secret) {
|
|
153
|
+
const index = await this.#getIndexToUseForSecret(secret);
|
|
154
|
+
this.taggingIndexCache.setLastUsedIndex(secret, index);
|
|
155
|
+
return index;
|
|
156
|
+
}
|
|
157
|
+
async #calculateAppTaggingSecret(contractAddress, sender, recipient) {
|
|
156
158
|
const senderCompleteAddress = await this.getCompleteAddressOrFail(sender);
|
|
157
159
|
const senderIvsk = await this.keyStore.getMasterIncomingViewingSecretKey(sender);
|
|
158
|
-
return
|
|
160
|
+
return AppTaggingSecret.computeUnconstrained(senderCompleteAddress, senderIvsk, recipient, contractAddress, recipient);
|
|
159
161
|
}
|
|
160
162
|
async #getIndexToUseForSecret(secret) {
|
|
161
163
|
// If we have the tagging index in the cache, we use it. If not we obtain it from the execution data provider.
|
|
@@ -177,21 +179,21 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
|
|
|
177
179
|
* Store values in the execution cache.
|
|
178
180
|
* @param values - Values to store.
|
|
179
181
|
* @returns The hash of the values.
|
|
180
|
-
*/
|
|
182
|
+
*/ setHashPreimage(values, hash) {
|
|
181
183
|
return this.executionCache.store(values, hash);
|
|
182
184
|
}
|
|
183
185
|
/**
|
|
184
186
|
* Gets values from the execution cache.
|
|
185
187
|
* @param hash - Hash of the values.
|
|
186
188
|
* @returns The values.
|
|
187
|
-
*/
|
|
189
|
+
*/ getHashPreimage(hash) {
|
|
188
190
|
const preimage = this.executionCache.getPreimage(hash);
|
|
189
191
|
if (!preimage) {
|
|
190
192
|
throw new Error(`Preimage for hash ${hash.toString()} not found in cache`);
|
|
191
193
|
}
|
|
192
194
|
return Promise.resolve(preimage);
|
|
193
195
|
}
|
|
194
|
-
async
|
|
196
|
+
async doesNullifierExist(innerNullifier) {
|
|
195
197
|
// This oracle must be overridden because while utility execution can only meaningfully check if a nullifier exists
|
|
196
198
|
// in the synched block, during private execution there's also the possibility of it being pending, i.e. created
|
|
197
199
|
// in the current transaction.
|
|
@@ -199,7 +201,7 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
|
|
|
199
201
|
contractAddress: this.contractAddress
|
|
200
202
|
});
|
|
201
203
|
const nullifier = (await siloNullifier(this.contractAddress, innerNullifier)).toBigInt();
|
|
202
|
-
return this.noteCache.getNullifiers(this.contractAddress).has(nullifier) || await super.
|
|
204
|
+
return this.noteCache.getNullifiers(this.contractAddress).has(nullifier) || await super.doesNullifierExist(innerNullifier);
|
|
203
205
|
}
|
|
204
206
|
/**
|
|
205
207
|
* Gets some notes for a storage slot.
|
|
@@ -221,12 +223,12 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
|
|
|
221
223
|
* @param offset - The starting index for pagination.
|
|
222
224
|
* @param status - The status of notes to fetch.
|
|
223
225
|
* @returns Array of note data.
|
|
224
|
-
*/ async getNotes(owner, storageSlot, numSelects, selectByIndexes, selectByOffsets, selectByLengths, selectValues, selectComparators, sortByIndexes, sortByOffsets, sortByLengths, sortOrder, limit, offset, status) {
|
|
226
|
+
*/ async getNotes(owner, storageSlot, numSelects, selectByIndexes, selectByOffsets, selectByLengths, selectValues, selectComparators, sortByIndexes, sortByOffsets, sortByLengths, sortOrder, limit, offset, status, maxNotes, packedHintedNoteLength) {
|
|
225
227
|
// Nullified pending notes are already removed from the list.
|
|
226
|
-
const pendingNotes = this.noteCache.getNotes(this.callContext.contractAddress, owner, storageSlot);
|
|
228
|
+
const pendingNotes = this.noteCache.getNotes(this.callContext.contractAddress, owner.value, storageSlot);
|
|
227
229
|
const pendingNullifiers = this.noteCache.getNullifiers(this.callContext.contractAddress);
|
|
228
230
|
const noteService = new NoteService(this.noteStore, this.aztecNode, this.anchorBlockHeader, this.jobId);
|
|
229
|
-
const dbNotes = await noteService.getNotes(this.callContext.contractAddress, owner, storageSlot, status, this.scopes);
|
|
231
|
+
const dbNotes = await noteService.getNotes(this.callContext.contractAddress, owner.value, storageSlot, status, this.scopes);
|
|
230
232
|
const dbNotesFiltered = dbNotes.filter((n)=>!pendingNullifiers.has(n.siloedNullifier.value));
|
|
231
233
|
const notes = pickNotes([
|
|
232
234
|
...dbNotesFiltered,
|
|
@@ -253,7 +255,11 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
|
|
|
253
255
|
offset
|
|
254
256
|
});
|
|
255
257
|
this.logger.debug(`Returning ${notes.length} notes for ${this.callContext.contractAddress} at ${storageSlot}: ${notes.map((n)=>`${n.noteNonce.toString()}:[${n.note.items.map((i)=>i.toString()).join(',')}]`).join(', ')}`);
|
|
256
|
-
return
|
|
258
|
+
return BoundedVec.from({
|
|
259
|
+
data: notes,
|
|
260
|
+
maxLength: maxNotes,
|
|
261
|
+
elementSize: packedHintedNoteLength
|
|
262
|
+
});
|
|
257
263
|
}
|
|
258
264
|
/**
|
|
259
265
|
* Keep track of the new note created during execution.
|
|
@@ -381,7 +387,7 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
|
|
|
381
387
|
senderTaggingStore: this.senderTaggingStore,
|
|
382
388
|
recipientTaggingStore: this.recipientTaggingStore,
|
|
383
389
|
senderAddressBookStore: this.senderAddressBookStore,
|
|
384
|
-
|
|
390
|
+
capsuleService: this.capsuleService,
|
|
385
391
|
privateEventStore: this.privateEventStore,
|
|
386
392
|
messageContextService: this.messageContextService,
|
|
387
393
|
contractSyncService: this.contractSyncService,
|
|
@@ -390,11 +396,15 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
|
|
|
390
396
|
sideEffectCounter,
|
|
391
397
|
log: this.logger,
|
|
392
398
|
scopes: this.scopes,
|
|
393
|
-
senderForTags: this.
|
|
394
|
-
simulator: this.simulator
|
|
399
|
+
senderForTags: this.defaultSenderForTags,
|
|
400
|
+
simulator: this.simulator,
|
|
401
|
+
hooks: this.hooks,
|
|
402
|
+
l2TipsStore: this.l2TipsStore
|
|
395
403
|
});
|
|
396
404
|
const setupTime = simulatorSetupTimer.ms();
|
|
397
405
|
const childExecutionResult = await executePrivateFunction(this.simulator, privateExecutionOracle, targetArtifact, targetContractAddress, functionSelector);
|
|
406
|
+
// Propagate the nested call's calldata count so the parent sees its increments on subsequent enqueues.
|
|
407
|
+
this.totalPublicCalldataCount = privateExecutionOracle.getTotalPublicCalldataCount();
|
|
398
408
|
if (isStaticCall) {
|
|
399
409
|
this.#checkValidStaticCall(childExecutionResult);
|
|
400
410
|
}
|
|
@@ -409,7 +419,7 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
|
|
|
409
419
|
returnsHash: publicInputs.returnsHash
|
|
410
420
|
};
|
|
411
421
|
}
|
|
412
|
-
/** Validates the calldata preimage exists in the cache and checks cumulative calldata size is within limits. */
|
|
422
|
+
/** Validates the calldata preimage exists in the cache and checks cumulative calldata size is within limits. */ assertValidPublicCalldata(calldataHash) {
|
|
413
423
|
const calldata = this.executionCache.getPreimage(calldataHash);
|
|
414
424
|
if (!calldata) {
|
|
415
425
|
throw new Error('Calldata for public call not found in cache');
|
|
@@ -420,10 +430,13 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
|
|
|
420
430
|
}
|
|
421
431
|
return Promise.resolve();
|
|
422
432
|
}
|
|
433
|
+
getTotalPublicCalldataCount() {
|
|
434
|
+
return this.totalPublicCalldataCount;
|
|
435
|
+
}
|
|
423
436
|
notifyRevertiblePhaseStart(minRevertibleSideEffectCounter) {
|
|
424
437
|
return this.noteCache.setMinRevertibleSideEffectCounter(minRevertibleSideEffectCounter);
|
|
425
438
|
}
|
|
426
|
-
|
|
439
|
+
isExecutionInRevertiblePhase(sideEffectCounter) {
|
|
427
440
|
return Promise.resolve(this.noteCache.isSideEffectCounterRevertible(sideEffectCounter));
|
|
428
441
|
}
|
|
429
442
|
/**
|
|
@@ -438,4 +451,7 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
|
|
|
438
451
|
getDebugFunctionName() {
|
|
439
452
|
return this.contractStore.getDebugFunctionName(this.contractAddress, this.callContext.functionSelector);
|
|
440
453
|
}
|
|
454
|
+
get callerContext() {
|
|
455
|
+
return this.callContext.isStaticCall ? 'private view' : 'private';
|
|
456
|
+
}
|
|
441
457
|
}
|