@aztec/pxe 0.0.1-commit.d3ec352c → 0.0.1-commit.fcb71a6
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 +105 -15
- package/dest/block_synchronizer/block_synchronizer.d.ts +37 -0
- package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -0
- package/dest/{synchronizer/synchronizer.js → block_synchronizer/block_synchronizer.js} +19 -22
- package/dest/block_synchronizer/index.d.ts +2 -0
- package/dest/block_synchronizer/index.d.ts.map +1 -0
- package/dest/block_synchronizer/index.js +1 -0
- package/dest/config/index.d.ts +4 -4
- package/dest/config/index.d.ts.map +1 -1
- package/dest/contract_function_simulator/contract_function_simulator.d.ts +41 -12
- package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
- package/dest/contract_function_simulator/contract_function_simulator.js +49 -19
- package/dest/contract_function_simulator/execution_note_cache.d.ts +4 -4
- package/dest/contract_function_simulator/execution_note_cache.d.ts.map +1 -1
- package/dest/contract_function_simulator/execution_note_cache.js +3 -3
- package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts +1 -1
- package/dest/contract_function_simulator/execution_tagging_index_cache.js +1 -1
- package/dest/contract_function_simulator/hashed_values_cache.d.ts +2 -2
- package/dest/contract_function_simulator/hashed_values_cache.d.ts.map +1 -1
- package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts +2 -2
- package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts.map +1 -1
- package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts +5 -4
- 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 +7 -6
- package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts +2 -2
- package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts.map +1 -1
- package/dest/contract_function_simulator/noir-structs/log_retrieval_response.js +1 -1
- package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts +2 -2
- package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts.map +1 -1
- package/dest/contract_function_simulator/noir-structs/utility_context.d.ts +2 -2
- 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 -1
- package/dest/contract_function_simulator/oracle/interfaces.d.ts +6 -6
- package/dest/contract_function_simulator/oracle/interfaces.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts +2 -2
- 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 -1
- package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts +7 -3
- package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/note_packing_utils.js +7 -3
- package/dest/contract_function_simulator/oracle/oracle.d.ts +2 -2
- package/dest/contract_function_simulator/oracle/oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/oracle.js +18 -7
- package/dest/contract_function_simulator/oracle/private_execution.d.ts +8 -10
- package/dest/contract_function_simulator/oracle/private_execution.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/private_execution.js +12 -12
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +25 -11
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/private_execution_oracle.js +26 -14
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +51 -11
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +146 -40
- package/dest/contract_function_simulator/pick_notes.d.ts +2 -2
- package/dest/contract_function_simulator/pick_notes.d.ts.map +1 -1
- package/dest/contract_function_simulator/pick_notes.js +1 -1
- package/dest/contract_function_simulator/proxied_contract_data_source.d.ts +4 -4
- package/dest/contract_function_simulator/proxied_contract_data_source.d.ts.map +1 -1
- package/dest/contract_function_simulator/proxied_contract_data_source.js +23 -5
- package/dest/debug/pxe_debug_utils.d.ts +31 -0
- package/dest/debug/pxe_debug_utils.d.ts.map +1 -0
- package/dest/debug/pxe_debug_utils.js +37 -0
- 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.js +2 -2
- 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.js +2 -2
- package/dest/entrypoints/pxe_creation_options.d.ts +3 -1
- package/dest/entrypoints/pxe_creation_options.d.ts.map +1 -1
- package/dest/entrypoints/server/index.d.ts +2 -2
- package/dest/entrypoints/server/index.d.ts.map +1 -1
- package/dest/entrypoints/server/index.js +1 -1
- package/dest/entrypoints/server/utils.js +1 -1
- package/dest/error_enriching.d.ts +4 -4
- package/dest/error_enriching.d.ts.map +1 -1
- package/dest/error_enriching.js +6 -6
- package/dest/events/event_service.d.ts +15 -0
- package/dest/events/event_service.d.ts.map +1 -0
- package/dest/events/event_service.js +47 -0
- package/dest/events/index.d.ts +2 -0
- package/dest/events/index.d.ts.map +1 -0
- package/dest/events/index.js +1 -0
- package/dest/events/private_event_filter_validator.d.ts +9 -0
- package/dest/events/private_event_filter_validator.d.ts.map +1 -0
- package/dest/events/private_event_filter_validator.js +39 -0
- package/dest/logs/log_service.d.ts +26 -0
- package/dest/logs/log_service.d.ts.map +1 -0
- package/dest/logs/log_service.js +120 -0
- package/dest/notes/index.d.ts +2 -0
- package/dest/notes/index.d.ts.map +1 -0
- package/dest/notes/index.js +1 -0
- package/dest/notes/note_service.d.ts +48 -0
- package/dest/notes/note_service.d.ts.map +1 -0
- package/dest/notes/note_service.js +152 -0
- package/dest/oracle_version.d.ts +2 -2
- package/dest/oracle_version.js +2 -2
- package/dest/private_kernel/private_kernel_execution_prover.js +4 -4
- package/dest/private_kernel/private_kernel_oracle.d.ts +3 -2
- package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -1
- package/dest/private_kernel/private_kernel_oracle_impl.d.ts +6 -5
- package/dest/private_kernel/private_kernel_oracle_impl.d.ts.map +1 -1
- package/dest/private_kernel/private_kernel_oracle_impl.js +7 -7
- package/dest/public_storage/public_storage_service.d.ts +24 -0
- package/dest/public_storage/public_storage_service.d.ts.map +1 -0
- package/dest/public_storage/public_storage_service.js +26 -0
- package/dest/pxe.d.ts +38 -46
- package/dest/pxe.d.ts.map +1 -1
- package/dest/pxe.js +135 -143
- package/dest/storage/address_store/address_store.d.ts +11 -0
- package/dest/storage/address_store/address_store.d.ts.map +1 -0
- package/dest/storage/{address_data_provider/address_data_provider.js → address_store/address_store.js} +1 -1
- package/dest/storage/address_store/index.d.ts +2 -0
- package/dest/storage/address_store/index.d.ts.map +1 -0
- package/dest/storage/address_store/index.js +1 -0
- package/dest/storage/{sync_data_provider/sync_data_provider.d.ts → anchor_block_store/anchor_block_store.d.ts} +2 -4
- package/dest/storage/anchor_block_store/anchor_block_store.d.ts.map +1 -0
- package/dest/storage/{sync_data_provider/sync_data_provider.js → anchor_block_store/anchor_block_store.js} +2 -9
- package/dest/storage/{sync_data_provider → anchor_block_store}/index.d.ts +2 -2
- package/dest/storage/anchor_block_store/index.d.ts.map +1 -0
- package/dest/storage/anchor_block_store/index.js +1 -0
- package/dest/storage/capsule_store/capsule_store.d.ts +57 -0
- package/dest/storage/capsule_store/capsule_store.d.ts.map +1 -0
- package/dest/storage/{capsule_data_provider/capsule_data_provider.js → capsule_store/capsule_store.js} +34 -6
- package/dest/storage/capsule_store/index.d.ts +2 -0
- package/dest/storage/capsule_store/index.d.ts.map +1 -0
- package/dest/storage/capsule_store/index.js +1 -0
- package/dest/storage/{contract_data_provider/contract_data_provider.d.ts → contract_store/contract_store.d.ts} +8 -5
- package/dest/storage/contract_store/contract_store.d.ts.map +1 -0
- package/dest/storage/{contract_data_provider/contract_data_provider.js → contract_store/contract_store.js} +46 -3
- package/dest/storage/contract_store/index.d.ts +2 -0
- package/dest/storage/contract_store/index.d.ts.map +1 -0
- package/dest/storage/contract_store/index.js +1 -0
- package/dest/storage/{contract_data_provider → contract_store}/private_functions_tree.d.ts +1 -1
- package/dest/storage/contract_store/private_functions_tree.d.ts.map +1 -0
- package/dest/storage/{contract_data_provider → contract_store}/private_functions_tree.js +1 -1
- package/dest/storage/index.d.ts +8 -8
- package/dest/storage/index.d.ts.map +1 -1
- package/dest/storage/index.js +7 -7
- package/dest/storage/note_store/index.d.ts +3 -0
- package/dest/storage/note_store/index.d.ts.map +1 -0
- package/dest/storage/note_store/index.js +2 -0
- package/dest/storage/{note_data_provider/note_data_provider.d.ts → note_store/note_store.d.ts} +10 -9
- package/dest/storage/note_store/note_store.d.ts.map +1 -0
- package/dest/storage/{note_data_provider/note_data_provider.js → note_store/note_store.js} +16 -8
- package/dest/storage/private_event_store/private_event_store.d.ts +51 -0
- package/dest/storage/private_event_store/private_event_store.d.ts.map +1 -0
- package/dest/storage/{private_event_data_provider/private_event_data_provider.js → private_event_store/private_event_store.js} +37 -27
- package/dest/storage/tagging_store/index.d.ts +4 -0
- package/dest/storage/tagging_store/index.d.ts.map +1 -0
- package/dest/storage/tagging_store/index.js +3 -0
- package/dest/storage/tagging_store/recipient_tagging_store.d.ts +21 -0
- package/dest/storage/tagging_store/recipient_tagging_store.d.ts.map +1 -0
- package/dest/storage/tagging_store/recipient_tagging_store.js +42 -0
- package/dest/storage/tagging_store/sender_address_book_store.d.ts +14 -0
- package/dest/storage/tagging_store/sender_address_book_store.d.ts.map +1 -0
- package/dest/storage/tagging_store/sender_address_book_store.js +30 -0
- package/dest/storage/tagging_store/sender_tagging_store.d.ts +67 -0
- package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -0
- package/dest/storage/tagging_store/sender_tagging_store.js +196 -0
- package/dest/tagging/index.d.ts +15 -6
- package/dest/tagging/index.d.ts.map +1 -1
- package/dest/tagging/index.js +23 -5
- package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts +14 -0
- package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts.map +1 -0
- package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.js +99 -0
- package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts +12 -0
- package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts.map +1 -0
- package/dest/tagging/recipient_sync/utils/find_highest_indexes.js +20 -0
- package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts +14 -0
- package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts.map +1 -0
- package/dest/tagging/recipient_sync/utils/load_logs_for_range.js +29 -0
- package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts +20 -0
- package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts.map +1 -0
- package/dest/tagging/sender_sync/sync_sender_tagging_indexes.js +74 -0
- package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts +11 -0
- package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts.map +1 -0
- package/dest/tagging/sender_sync/utils/get_status_change_of_pending.js +32 -0
- package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts +18 -0
- package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts.map +1 -0
- package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.js +55 -0
- package/dest/tree_membership/tree_membership_service.d.ts +52 -0
- package/dest/tree_membership/tree_membership_service.d.ts.map +1 -0
- package/dest/tree_membership/tree_membership_service.js +84 -0
- package/package.json +16 -16
- package/src/bin/check_oracle_version.ts +130 -20
- package/src/{synchronizer/synchronizer.ts → block_synchronizer/block_synchronizer.ts} +18 -22
- package/src/block_synchronizer/index.ts +1 -0
- package/src/config/index.ts +3 -3
- package/src/contract_function_simulator/contract_function_simulator.ts +86 -17
- package/src/contract_function_simulator/execution_note_cache.ts +7 -4
- package/src/contract_function_simulator/execution_tagging_index_cache.ts +1 -1
- package/src/contract_function_simulator/hashed_values_cache.ts +1 -1
- package/src/contract_function_simulator/noir-structs/event_validation_request.ts +1 -1
- package/src/contract_function_simulator/noir-structs/log_retrieval_request.ts +6 -5
- package/src/contract_function_simulator/noir-structs/log_retrieval_response.ts +1 -1
- package/src/contract_function_simulator/noir-structs/note_validation_request.ts +1 -1
- package/src/contract_function_simulator/noir-structs/utility_context.ts +1 -1
- package/src/contract_function_simulator/oracle/interfaces.ts +5 -5
- package/src/contract_function_simulator/oracle/message_load_oracle_inputs.ts +1 -1
- package/src/contract_function_simulator/oracle/note_packing_utils.ts +17 -3
- package/src/contract_function_simulator/oracle/oracle.ts +21 -7
- package/src/contract_function_simulator/oracle/private_execution.ts +15 -14
- package/src/contract_function_simulator/oracle/private_execution_oracle.ts +92 -22
- package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +213 -49
- package/src/contract_function_simulator/pick_notes.ts +1 -1
- package/src/contract_function_simulator/proxied_contract_data_source.ts +24 -7
- package/src/debug/pxe_debug_utils.ts +48 -0
- package/src/entrypoints/client/bundle/index.ts +0 -1
- package/src/entrypoints/client/bundle/utils.ts +2 -2
- package/src/entrypoints/client/lazy/index.ts +0 -1
- package/src/entrypoints/client/lazy/utils.ts +2 -2
- package/src/entrypoints/pxe_creation_options.ts +2 -0
- package/src/entrypoints/server/index.ts +1 -1
- package/src/entrypoints/server/utils.ts +1 -1
- package/src/error_enriching.ts +7 -15
- package/src/events/event_service.ts +77 -0
- package/src/events/index.ts +1 -0
- package/src/events/private_event_filter_validator.ts +48 -0
- package/src/logs/log_service.ts +202 -0
- package/src/notes/index.ts +1 -0
- package/src/notes/note_service.ts +200 -0
- package/src/oracle_version.ts +2 -2
- package/src/private_kernel/hints/build_private_kernel_reset_private_inputs.ts +1 -1
- package/src/private_kernel/private_kernel_execution_prover.ts +4 -4
- package/src/private_kernel/private_kernel_oracle.ts +2 -1
- package/src/private_kernel/private_kernel_oracle_impl.ts +8 -7
- package/src/public_storage/public_storage_service.ts +33 -0
- package/src/pxe.ts +162 -181
- package/src/storage/{address_data_provider/address_data_provider.ts → address_store/address_store.ts} +1 -1
- package/src/storage/address_store/index.ts +1 -0
- package/src/storage/{sync_data_provider/sync_data_provider.ts → anchor_block_store/anchor_block_store.ts} +2 -12
- package/src/storage/anchor_block_store/index.ts +1 -0
- package/src/storage/{capsule_data_provider/capsule_data_provider.ts → capsule_store/capsule_store.ts} +34 -2
- package/src/storage/capsule_store/index.ts +1 -0
- package/src/storage/{contract_data_provider/contract_data_provider.ts → contract_store/contract_store.ts} +65 -3
- package/src/storage/contract_store/index.ts +1 -0
- package/src/storage/{contract_data_provider → contract_store}/private_functions_tree.ts +1 -1
- package/src/storage/index.ts +7 -7
- package/src/storage/note_store/index.ts +2 -0
- package/src/storage/{note_data_provider/note_data_provider.ts → note_store/note_store.ts} +19 -10
- package/src/storage/{private_event_data_provider/private_event_data_provider.ts → private_event_store/private_event_store.ts} +60 -41
- package/src/storage/tagging_store/index.ts +3 -0
- package/src/storage/tagging_store/recipient_tagging_store.ts +53 -0
- package/src/storage/tagging_store/sender_address_book_store.ts +42 -0
- package/src/storage/tagging_store/sender_tagging_store.ts +244 -0
- package/src/tagging/index.ts +27 -5
- package/src/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.ts +129 -0
- package/src/tagging/recipient_sync/utils/find_highest_indexes.ts +34 -0
- package/src/tagging/recipient_sync/utils/load_logs_for_range.ts +43 -0
- package/src/tagging/sender_sync/sync_sender_tagging_indexes.ts +96 -0
- package/src/tagging/sender_sync/utils/get_status_change_of_pending.ts +44 -0
- package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +72 -0
- package/src/tree_membership/tree_membership_service.ts +112 -0
- package/dest/contract_function_simulator/execution_data_provider.d.ts +0 -267
- package/dest/contract_function_simulator/execution_data_provider.d.ts.map +0 -1
- package/dest/contract_function_simulator/execution_data_provider.js +0 -14
- package/dest/contract_function_simulator/pxe_oracle_interface.d.ts +0 -123
- package/dest/contract_function_simulator/pxe_oracle_interface.d.ts.map +0 -1
- package/dest/contract_function_simulator/pxe_oracle_interface.js +0 -696
- package/dest/storage/address_data_provider/address_data_provider.d.ts +0 -11
- package/dest/storage/address_data_provider/address_data_provider.d.ts.map +0 -1
- package/dest/storage/address_data_provider/index.d.ts +0 -2
- package/dest/storage/address_data_provider/index.d.ts.map +0 -1
- package/dest/storage/address_data_provider/index.js +0 -1
- package/dest/storage/capsule_data_provider/capsule_data_provider.d.ts +0 -25
- package/dest/storage/capsule_data_provider/capsule_data_provider.d.ts.map +0 -1
- package/dest/storage/capsule_data_provider/index.d.ts +0 -2
- package/dest/storage/capsule_data_provider/index.d.ts.map +0 -1
- package/dest/storage/capsule_data_provider/index.js +0 -1
- package/dest/storage/contract_data_provider/contract_data_provider.d.ts.map +0 -1
- package/dest/storage/contract_data_provider/index.d.ts +0 -2
- package/dest/storage/contract_data_provider/index.d.ts.map +0 -1
- package/dest/storage/contract_data_provider/index.js +0 -1
- package/dest/storage/contract_data_provider/private_functions_tree.d.ts.map +0 -1
- package/dest/storage/note_data_provider/index.d.ts +0 -3
- package/dest/storage/note_data_provider/index.d.ts.map +0 -1
- package/dest/storage/note_data_provider/index.js +0 -2
- package/dest/storage/note_data_provider/note_data_provider.d.ts.map +0 -1
- package/dest/storage/private_event_data_provider/private_event_data_provider.d.ts +0 -37
- package/dest/storage/private_event_data_provider/private_event_data_provider.d.ts.map +0 -1
- package/dest/storage/sync_data_provider/index.d.ts.map +0 -1
- package/dest/storage/sync_data_provider/index.js +0 -1
- package/dest/storage/sync_data_provider/sync_data_provider.d.ts.map +0 -1
- package/dest/storage/tagging_data_provider/index.d.ts +0 -2
- package/dest/storage/tagging_data_provider/index.d.ts.map +0 -1
- package/dest/storage/tagging_data_provider/index.js +0 -1
- package/dest/storage/tagging_data_provider/tagging_data_provider.d.ts +0 -40
- package/dest/storage/tagging_data_provider/tagging_data_provider.d.ts.map +0 -1
- package/dest/storage/tagging_data_provider/tagging_data_provider.js +0 -89
- package/dest/synchronizer/index.d.ts +0 -2
- package/dest/synchronizer/index.d.ts.map +0 -1
- package/dest/synchronizer/index.js +0 -1
- package/dest/synchronizer/synchronizer.d.ts +0 -36
- package/dest/synchronizer/synchronizer.d.ts.map +0 -1
- package/dest/tagging/constants.d.ts +0 -2
- package/dest/tagging/constants.d.ts.map +0 -1
- package/dest/tagging/constants.js +0 -2
- package/dest/tagging/siloed_tag.d.ts +0 -14
- package/dest/tagging/siloed_tag.d.ts.map +0 -1
- package/dest/tagging/siloed_tag.js +0 -20
- package/dest/tagging/tag.d.ts +0 -12
- package/dest/tagging/tag.d.ts.map +0 -1
- package/dest/tagging/tag.js +0 -17
- package/dest/tagging/utils.d.ts +0 -18
- package/dest/tagging/utils.d.ts.map +0 -1
- package/dest/tagging/utils.js +0 -24
- package/src/contract_function_simulator/execution_data_provider.ts +0 -342
- package/src/contract_function_simulator/pxe_oracle_interface.ts +0 -1023
- package/src/storage/address_data_provider/index.ts +0 -1
- package/src/storage/capsule_data_provider/index.ts +0 -1
- package/src/storage/contract_data_provider/index.ts +0 -1
- package/src/storage/note_data_provider/index.ts +0 -2
- package/src/storage/sync_data_provider/index.ts +0 -1
- package/src/storage/tagging_data_provider/index.ts +0 -1
- package/src/storage/tagging_data_provider/tagging_data_provider.ts +0 -120
- package/src/synchronizer/index.ts +0 -1
- package/src/tagging/constants.ts +0 -2
- package/src/tagging/siloed_tag.ts +0 -22
- package/src/tagging/tag.ts +0 -16
- package/src/tagging/utils.ts +0 -31
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import type { L1_TO_L2_MSG_TREE_HEIGHT } from '@aztec/constants';
|
|
2
2
|
import type { BlockNumber } from '@aztec/foundation/branded-types';
|
|
3
|
-
import { Fr
|
|
3
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
4
|
+
import { Point } from '@aztec/foundation/curves/grumpkin';
|
|
4
5
|
import type { FunctionSelector, NoteSelector } from '@aztec/stdlib/abi';
|
|
5
6
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
6
7
|
import type { CompleteAddress, ContractInstance } from '@aztec/stdlib/contract';
|
|
7
8
|
import type { KeyValidationRequest } from '@aztec/stdlib/kernel';
|
|
8
|
-
import type { ContractClassLog } from '@aztec/stdlib/logs';
|
|
9
|
+
import type { ContractClassLog, Tag } from '@aztec/stdlib/logs';
|
|
9
10
|
import type { Note, NoteStatus } from '@aztec/stdlib/note';
|
|
10
11
|
import { type MerkleTreeId, type NullifierMembershipWitness, PublicDataWitness } from '@aztec/stdlib/trees';
|
|
11
12
|
import type { BlockHeader } from '@aztec/stdlib/tx';
|
|
12
13
|
|
|
13
|
-
import type { Tag } from '../../tagging/tag.js';
|
|
14
14
|
import type { UtilityContext } from '../noir-structs/utility_context.js';
|
|
15
15
|
import type { MessageLoadOracleInputs } from './message_load_oracle_inputs.js';
|
|
16
16
|
|
|
@@ -62,7 +62,7 @@ export interface IMiscOracle {
|
|
|
62
62
|
export interface IUtilityExecutionOracle {
|
|
63
63
|
isUtility: true;
|
|
64
64
|
|
|
65
|
-
utilityGetUtilityContext():
|
|
65
|
+
utilityGetUtilityContext(): UtilityContext;
|
|
66
66
|
utilityGetKeyValidationRequest(pkMHash: Fr): Promise<KeyValidationRequest>;
|
|
67
67
|
utilityGetContractInstance(address: AztecAddress): Promise<ContractInstance>;
|
|
68
68
|
utilityGetMembershipWitness(blockNumber: BlockNumber, treeId: MerkleTreeId, leafValue: Fr): Promise<Fr[] | undefined>;
|
|
@@ -79,7 +79,7 @@ export interface IUtilityExecutionOracle {
|
|
|
79
79
|
utilityGetPublicKeysAndPartialAddress(account: AztecAddress): Promise<CompleteAddress>;
|
|
80
80
|
utilityGetAuthWitness(messageHash: Fr): Promise<Fr[] | undefined>;
|
|
81
81
|
utilityGetNotes(
|
|
82
|
-
owner: AztecAddress,
|
|
82
|
+
owner: AztecAddress | undefined,
|
|
83
83
|
storageSlot: Fr,
|
|
84
84
|
numSelects: number,
|
|
85
85
|
selectByIndexes: number[],
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Fr } from '@aztec/foundation/
|
|
1
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
2
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
3
3
|
import type { Note } from '@aztec/stdlib/note';
|
|
4
4
|
|
|
@@ -24,7 +24,9 @@ function fromRawData(nonzeroNoteHashCounter: boolean, maybeNoteNonce: Fr): { sta
|
|
|
24
24
|
* and only after that it packs the retrieved note. Hence it doesn't map one to one with `RetrievedNote::pack()`.
|
|
25
25
|
*
|
|
26
26
|
* @param contractAddress - The address of the contract that owns the note
|
|
27
|
+
* @param owner - The owner of the note
|
|
27
28
|
* @param randomness - The randomness injected into the note to get the hiding property of commitments
|
|
29
|
+
* @param storageSlot - The storage slot of the note
|
|
28
30
|
* @param noteNonce - The nonce injected into the note hash preimage by kernels.
|
|
29
31
|
* @param index - Optional index in the note hash tree. If undefined, indicates a transient note
|
|
30
32
|
* @param note - The note content containing the actual note data
|
|
@@ -32,13 +34,17 @@ function fromRawData(nonzeroNoteHashCounter: boolean, maybeNoteNonce: Fr): { sta
|
|
|
32
34
|
*/
|
|
33
35
|
export function packAsRetrievedNote({
|
|
34
36
|
contractAddress,
|
|
37
|
+
owner,
|
|
35
38
|
randomness,
|
|
39
|
+
storageSlot,
|
|
36
40
|
noteNonce,
|
|
37
41
|
index,
|
|
38
42
|
note,
|
|
39
43
|
}: {
|
|
40
44
|
contractAddress: AztecAddress;
|
|
45
|
+
owner: AztecAddress;
|
|
41
46
|
randomness: Fr;
|
|
47
|
+
storageSlot: Fr;
|
|
42
48
|
noteNonce: Fr;
|
|
43
49
|
index?: bigint;
|
|
44
50
|
note: Note;
|
|
@@ -49,6 +55,14 @@ export function packAsRetrievedNote({
|
|
|
49
55
|
// To pack the note as retrieved note we first need to reconstruct the note metadata.
|
|
50
56
|
const noteMetadata = fromRawData(nonzeroNoteHashCounter, noteNonce);
|
|
51
57
|
|
|
52
|
-
// Pack
|
|
53
|
-
return [
|
|
58
|
+
// Pack in order: note, contract_address, owner, randomness, storage_slot, metadata (stage, maybe_note_nonce)
|
|
59
|
+
return [
|
|
60
|
+
...note.items,
|
|
61
|
+
contractAddress,
|
|
62
|
+
owner,
|
|
63
|
+
randomness,
|
|
64
|
+
storageSlot,
|
|
65
|
+
new Fr(noteMetadata.stage),
|
|
66
|
+
noteMetadata.maybeNoteNonce,
|
|
67
|
+
];
|
|
54
68
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
2
|
-
import { Fr
|
|
2
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
|
+
import { Point } from '@aztec/foundation/curves/grumpkin';
|
|
3
4
|
import {
|
|
4
5
|
type ACIRCallback,
|
|
5
6
|
type ACVMField,
|
|
@@ -111,9 +112,9 @@ export class Oracle {
|
|
|
111
112
|
return [values.map(toACVMField)];
|
|
112
113
|
}
|
|
113
114
|
|
|
114
|
-
|
|
115
|
-
const context =
|
|
116
|
-
return context.toNoirRepresentation();
|
|
115
|
+
utilityGetUtilityContext(): Promise<(ACVMField | ACVMField[])[]> {
|
|
116
|
+
const context = this.handlerAsUtility().utilityGetUtilityContext();
|
|
117
|
+
return Promise.resolve(context.toNoirRepresentation());
|
|
117
118
|
}
|
|
118
119
|
|
|
119
120
|
async utilityGetKeyValidationRequest([pkMHash]: ACVMField[]): Promise<ACVMField[]> {
|
|
@@ -239,7 +240,8 @@ export class Oracle {
|
|
|
239
240
|
}
|
|
240
241
|
|
|
241
242
|
async utilityGetNotes(
|
|
242
|
-
[
|
|
243
|
+
[ownerSome]: ACVMField[],
|
|
244
|
+
[ownerValue]: ACVMField[],
|
|
243
245
|
[storageSlot]: ACVMField[],
|
|
244
246
|
[numSelects]: ACVMField[],
|
|
245
247
|
selectByIndexes: ACVMField[],
|
|
@@ -257,8 +259,10 @@ export class Oracle {
|
|
|
257
259
|
[maxNotes]: ACVMField[],
|
|
258
260
|
[packedRetrievedNoteLength]: ACVMField[],
|
|
259
261
|
): Promise<(ACVMField | ACVMField[])[]> {
|
|
262
|
+
// Parse Option<AztecAddress>: ownerSome is 0 for None, 1 for Some
|
|
263
|
+
const owner = Fr.fromString(ownerSome).toNumber() === 1 ? AztecAddress.fromString(ownerValue) : undefined;
|
|
260
264
|
const noteDatas = await this.handlerAsUtility().utilityGetNotes(
|
|
261
|
-
|
|
265
|
+
owner,
|
|
262
266
|
Fr.fromString(storageSlot),
|
|
263
267
|
+numSelects,
|
|
264
268
|
selectByIndexes.map(s => +s),
|
|
@@ -275,7 +279,17 @@ export class Oracle {
|
|
|
275
279
|
+status,
|
|
276
280
|
);
|
|
277
281
|
|
|
278
|
-
const returnDataAsArrayOfPackedRetrievedNotes = noteDatas.map(
|
|
282
|
+
const returnDataAsArrayOfPackedRetrievedNotes = noteDatas.map(noteData =>
|
|
283
|
+
packAsRetrievedNote({
|
|
284
|
+
contractAddress: noteData.contractAddress,
|
|
285
|
+
owner: noteData.owner,
|
|
286
|
+
randomness: noteData.randomness,
|
|
287
|
+
storageSlot: noteData.storageSlot,
|
|
288
|
+
noteNonce: noteData.noteNonce,
|
|
289
|
+
index: noteData.index,
|
|
290
|
+
note: noteData.note,
|
|
291
|
+
}),
|
|
292
|
+
);
|
|
279
293
|
|
|
280
294
|
// Now we convert each sub-array to an array of ACVMField
|
|
281
295
|
const returnDataAsArrayOfACVMFieldArrays = returnDataAsArrayOfPackedRetrievedNotes.map(subArray =>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH, PRIVATE_CONTEXT_INPUTS_LENGTH } from '@aztec/constants';
|
|
2
2
|
import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
3
|
-
import { Fr } from '@aztec/foundation/
|
|
3
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
4
4
|
import { createLogger } from '@aztec/foundation/log';
|
|
5
5
|
import { Timer } from '@aztec/foundation/timer';
|
|
6
6
|
import { ProtocolContractAddress } from '@aztec/protocol-contracts';
|
|
@@ -27,7 +27,7 @@ import type { CircuitWitnessGenerationStats } from '@aztec/stdlib/stats';
|
|
|
27
27
|
import { BlockHeader, PrivateCallExecutionResult } from '@aztec/stdlib/tx';
|
|
28
28
|
import type { UInt64 } from '@aztec/stdlib/types';
|
|
29
29
|
|
|
30
|
-
import
|
|
30
|
+
import { ContractStore } from '../../storage/contract_store/index.js';
|
|
31
31
|
import { Oracle } from './oracle.js';
|
|
32
32
|
import type { PrivateExecutionOracle } from './private_execution_oracle.js';
|
|
33
33
|
|
|
@@ -154,7 +154,7 @@ export function extractPrivateCircuitPublicInputs(
|
|
|
154
154
|
* from the instance is used.
|
|
155
155
|
* @param contractAddress - The address of the contract to read the class id for.
|
|
156
156
|
* @param instance - The instance of the contract.
|
|
157
|
-
* @param
|
|
157
|
+
* @param executionStore - The execution data provider.
|
|
158
158
|
* @param blockNumber - The block number at which to load the DelayedPublicMutable storing the class id.
|
|
159
159
|
* @param timestamp - The timestamp at which to obtain the class id from the DelayedPublicMutable.
|
|
160
160
|
* @returns The current class id.
|
|
@@ -162,13 +162,13 @@ export function extractPrivateCircuitPublicInputs(
|
|
|
162
162
|
export async function readCurrentClassId(
|
|
163
163
|
contractAddress: AztecAddress,
|
|
164
164
|
instance: ContractInstance,
|
|
165
|
-
|
|
165
|
+
aztecNode: AztecNode,
|
|
166
166
|
blockNumber: BlockNumber,
|
|
167
167
|
timestamp: UInt64,
|
|
168
168
|
) {
|
|
169
169
|
const { delayedPublicMutableSlot } = await DelayedPublicMutableValuesWithHash.getContractUpdateSlots(contractAddress);
|
|
170
170
|
const delayedPublicMutableValues = await DelayedPublicMutableValues.readFromTree(delayedPublicMutableSlot, slot =>
|
|
171
|
-
|
|
171
|
+
aztecNode.getPublicStorageAt(blockNumber, ProtocolContractAddress.ContractInstanceRegistry, slot),
|
|
172
172
|
);
|
|
173
173
|
let currentClassId = delayedPublicMutableValues.svc.getCurrentAt(timestamp)[0];
|
|
174
174
|
if (currentClassId.isZero()) {
|
|
@@ -178,25 +178,26 @@ export async function readCurrentClassId(
|
|
|
178
178
|
}
|
|
179
179
|
|
|
180
180
|
/**
|
|
181
|
-
* Verify that the current class id of a contract obtained from AztecNode is the same as the one in
|
|
182
|
-
* provider (i.e. PXE).
|
|
183
|
-
* @param contractAddress - The address of the contract to verify class id for.
|
|
184
|
-
* @param executionDataProvider - The execution data provider.
|
|
181
|
+
* Verify that the current class id of a contract obtained from AztecNode is the same as the one in contract data
|
|
182
|
+
* provider (i.e. PXE's own storage).
|
|
185
183
|
* @param header - The header of the block at which to verify the current class id. If not provided, the anchor block
|
|
186
184
|
* header of the execution data provider is used.
|
|
187
185
|
*/
|
|
188
186
|
export async function verifyCurrentClassId(
|
|
189
187
|
contractAddress: AztecAddress,
|
|
190
|
-
|
|
191
|
-
|
|
188
|
+
aztecNode: AztecNode,
|
|
189
|
+
contractStore: ContractStore,
|
|
190
|
+
header: BlockHeader,
|
|
192
191
|
) {
|
|
193
|
-
|
|
192
|
+
const instance = await contractStore.getContractInstance(contractAddress);
|
|
193
|
+
if (!instance) {
|
|
194
|
+
throw new Error(`No contract instance found for address ${contractAddress.toString()}`);
|
|
195
|
+
}
|
|
194
196
|
|
|
195
|
-
const instance = await executionDataProvider.getContractInstance(contractAddress);
|
|
196
197
|
const currentClassId = await readCurrentClassId(
|
|
197
198
|
contractAddress,
|
|
198
199
|
instance,
|
|
199
|
-
|
|
200
|
+
aztecNode,
|
|
200
201
|
header.globalVariables.blockNumber,
|
|
201
202
|
header.globalVariables.timestamp,
|
|
202
203
|
);
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { MAX_FR_CALLDATA_TO_ALL_ENQUEUED_CALLS, PRIVATE_CONTEXT_INPUTS_LENGTH } from '@aztec/constants';
|
|
2
|
-
import { Fr } from '@aztec/foundation/
|
|
2
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
3
|
import { createLogger } from '@aztec/foundation/log';
|
|
4
4
|
import { Timer } from '@aztec/foundation/timer';
|
|
5
|
+
import type { KeyStore } from '@aztec/key-store';
|
|
5
6
|
import { type CircuitSimulator, toACVMWitness } from '@aztec/simulator/client';
|
|
6
7
|
import {
|
|
7
8
|
type FunctionAbi,
|
|
8
9
|
type FunctionArtifact,
|
|
10
|
+
type FunctionCall,
|
|
9
11
|
FunctionSelector,
|
|
10
12
|
type NoteSelector,
|
|
11
13
|
countArgumentsSize,
|
|
@@ -13,8 +15,10 @@ import {
|
|
|
13
15
|
import type { AuthWitness } from '@aztec/stdlib/auth-witness';
|
|
14
16
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
15
17
|
import { computeUniqueNoteHash, siloNoteHash, siloNullifier } from '@aztec/stdlib/hash';
|
|
18
|
+
import type { AztecNode } from '@aztec/stdlib/interfaces/client';
|
|
16
19
|
import { PrivateContextInputs } from '@aztec/stdlib/kernel';
|
|
17
|
-
import type
|
|
20
|
+
import { type ContractClassLog, DirectionalAppTaggingSecret, type PreTag } from '@aztec/stdlib/logs';
|
|
21
|
+
import { Tag } from '@aztec/stdlib/logs';
|
|
18
22
|
import { Note, type NoteStatus } from '@aztec/stdlib/note';
|
|
19
23
|
import {
|
|
20
24
|
type BlockHeader,
|
|
@@ -26,8 +30,17 @@ import {
|
|
|
26
30
|
type TxContext,
|
|
27
31
|
} from '@aztec/stdlib/tx';
|
|
28
32
|
|
|
29
|
-
import {
|
|
30
|
-
import type {
|
|
33
|
+
import { NoteService } from '../../notes/note_service.js';
|
|
34
|
+
import type { AddressStore } from '../../storage/address_store/address_store.js';
|
|
35
|
+
import type { AnchorBlockStore } from '../../storage/anchor_block_store/anchor_block_store.js';
|
|
36
|
+
import type { CapsuleStore } from '../../storage/capsule_store/capsule_store.js';
|
|
37
|
+
import type { ContractStore } from '../../storage/contract_store/contract_store.js';
|
|
38
|
+
import type { NoteStore } from '../../storage/note_store/note_store.js';
|
|
39
|
+
import type { PrivateEventStore } from '../../storage/private_event_store/private_event_store.js';
|
|
40
|
+
import type { RecipientTaggingStore } from '../../storage/tagging_store/recipient_tagging_store.js';
|
|
41
|
+
import type { SenderAddressBookStore } from '../../storage/tagging_store/sender_address_book_store.js';
|
|
42
|
+
import type { SenderTaggingStore } from '../../storage/tagging_store/sender_tagging_store.js';
|
|
43
|
+
import { syncSenderTaggingIndexes } from '../../tagging/index.js';
|
|
31
44
|
import type { ExecutionNoteCache } from '../execution_note_cache.js';
|
|
32
45
|
import { ExecutionTaggingIndexCache } from '../execution_tagging_index_cache.js';
|
|
33
46
|
import type { HashedValuesCache } from '../hashed_values_cache.js';
|
|
@@ -71,14 +84,26 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
71
84
|
private readonly txContext: TxContext,
|
|
72
85
|
private readonly callContext: CallContext,
|
|
73
86
|
/** Header of a block whose state is used during private execution (not the block the transaction is included in). */
|
|
74
|
-
protected readonly anchorBlockHeader: BlockHeader,
|
|
87
|
+
protected override readonly anchorBlockHeader: BlockHeader,
|
|
88
|
+
/** Needed to trigger contract synchronization before nested calls */
|
|
89
|
+
private readonly utilityExecutor: (call: FunctionCall) => Promise<void>,
|
|
75
90
|
/** List of transient auth witnesses to be used during this simulation */
|
|
76
91
|
authWitnesses: AuthWitness[],
|
|
77
92
|
capsules: Capsule[],
|
|
78
93
|
private readonly executionCache: HashedValuesCache,
|
|
79
94
|
private readonly noteCache: ExecutionNoteCache,
|
|
80
95
|
private readonly taggingIndexCache: ExecutionTaggingIndexCache,
|
|
81
|
-
|
|
96
|
+
contractStore: ContractStore,
|
|
97
|
+
noteStore: NoteStore,
|
|
98
|
+
keyStore: KeyStore,
|
|
99
|
+
addressStore: AddressStore,
|
|
100
|
+
aztecNode: AztecNode,
|
|
101
|
+
anchorBlockStore: AnchorBlockStore,
|
|
102
|
+
private readonly senderTaggingStore: SenderTaggingStore,
|
|
103
|
+
recipientTaggingStore: RecipientTaggingStore,
|
|
104
|
+
senderAddressBookStore: SenderAddressBookStore,
|
|
105
|
+
capsuleStore: CapsuleStore,
|
|
106
|
+
privateEventStore: PrivateEventStore,
|
|
82
107
|
private totalPublicCalldataCount: number = 0,
|
|
83
108
|
protected sideEffectCounter: number = 0,
|
|
84
109
|
log = createLogger('simulator:client_execution_context'),
|
|
@@ -86,7 +111,24 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
86
111
|
private senderForTags?: AztecAddress,
|
|
87
112
|
private simulator?: CircuitSimulator,
|
|
88
113
|
) {
|
|
89
|
-
super(
|
|
114
|
+
super(
|
|
115
|
+
callContext.contractAddress,
|
|
116
|
+
authWitnesses,
|
|
117
|
+
capsules,
|
|
118
|
+
anchorBlockHeader,
|
|
119
|
+
contractStore,
|
|
120
|
+
noteStore,
|
|
121
|
+
keyStore,
|
|
122
|
+
addressStore,
|
|
123
|
+
aztecNode,
|
|
124
|
+
anchorBlockStore,
|
|
125
|
+
recipientTaggingStore,
|
|
126
|
+
senderAddressBookStore,
|
|
127
|
+
capsuleStore,
|
|
128
|
+
privateEventStore,
|
|
129
|
+
log,
|
|
130
|
+
scopes,
|
|
131
|
+
);
|
|
90
132
|
}
|
|
91
133
|
|
|
92
134
|
public getPrivateContextInputs(): PrivateContextInputs {
|
|
@@ -152,7 +194,7 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
152
194
|
}
|
|
153
195
|
|
|
154
196
|
/**
|
|
155
|
-
* Returns the pre
|
|
197
|
+
* Returns the pre-tags that were used in this execution (and that need to be stored in the db).
|
|
156
198
|
*/
|
|
157
199
|
public getUsedPreTags(): PreTag[] {
|
|
158
200
|
return this.taggingIndexCache.getUsedPreTags();
|
|
@@ -202,11 +244,7 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
202
244
|
* @returns An app tag to be used in a log.
|
|
203
245
|
*/
|
|
204
246
|
public async privateGetNextAppTagAsSender(sender: AztecAddress, recipient: AztecAddress): Promise<Tag> {
|
|
205
|
-
const secret = await this
|
|
206
|
-
this.contractAddress,
|
|
207
|
-
sender,
|
|
208
|
-
recipient,
|
|
209
|
-
);
|
|
247
|
+
const secret = await this.#calculateDirectionalAppTaggingSecret(this.contractAddress, sender, recipient);
|
|
210
248
|
|
|
211
249
|
const index = await this.#getIndexToUseForSecret(secret);
|
|
212
250
|
this.log.debug(
|
|
@@ -217,6 +255,22 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
217
255
|
return Tag.compute({ secret, index });
|
|
218
256
|
}
|
|
219
257
|
|
|
258
|
+
async #calculateDirectionalAppTaggingSecret(
|
|
259
|
+
contractAddress: AztecAddress,
|
|
260
|
+
sender: AztecAddress,
|
|
261
|
+
recipient: AztecAddress,
|
|
262
|
+
) {
|
|
263
|
+
const senderCompleteAddress = await this.getCompleteAddress(sender);
|
|
264
|
+
const senderIvsk = await this.keyStore.getMasterIncomingViewingSecretKey(sender);
|
|
265
|
+
return DirectionalAppTaggingSecret.compute(
|
|
266
|
+
senderCompleteAddress,
|
|
267
|
+
senderIvsk,
|
|
268
|
+
recipient,
|
|
269
|
+
contractAddress,
|
|
270
|
+
recipient,
|
|
271
|
+
);
|
|
272
|
+
}
|
|
273
|
+
|
|
220
274
|
async #getIndexToUseForSecret(secret: DirectionalAppTaggingSecret): Promise<number> {
|
|
221
275
|
// If we have the tagging index in the cache, we use it. If not we obtain it from the execution data provider.
|
|
222
276
|
const lastUsedIndexInTx = this.taggingIndexCache.getLastUsedIndex(secret);
|
|
@@ -227,8 +281,9 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
227
281
|
// This is a tagging secret we've not yet used in this tx, so first sync our store to make sure its indices
|
|
228
282
|
// are up to date. We do this here because this store is not synced as part of the global sync because
|
|
229
283
|
// that'd be wasteful as most tagging secrets are not used in each tx.
|
|
230
|
-
await this.
|
|
231
|
-
|
|
284
|
+
await syncSenderTaggingIndexes(secret, this.contractAddress, this.aztecNode, this.senderTaggingStore);
|
|
285
|
+
|
|
286
|
+
const lastUsedIndex = await this.senderTaggingStore.getLastUsedIndex(secret);
|
|
232
287
|
// If lastUsedIndex is undefined, we've never used this secret, so start from 0
|
|
233
288
|
// Otherwise, the next index to use is one past the last used index
|
|
234
289
|
return lastUsedIndex === undefined ? 0 : lastUsedIndex + 1;
|
|
@@ -282,7 +337,7 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
282
337
|
* Real notes coming from DB will have a leafIndex which
|
|
283
338
|
* represents their index in the note hash tree.
|
|
284
339
|
*
|
|
285
|
-
* @param owner - The owner of the notes.
|
|
340
|
+
* @param owner - The owner of the notes. If undefined, returns notes for all owners.
|
|
286
341
|
* @param storageSlot - The storage slot.
|
|
287
342
|
* @param numSelects - The number of valid selects in selectBy and selectValues.
|
|
288
343
|
* @param selectBy - An array of indices of the fields to selects.
|
|
@@ -296,7 +351,7 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
296
351
|
* @returns Array of note data.
|
|
297
352
|
*/
|
|
298
353
|
public override async utilityGetNotes(
|
|
299
|
-
owner: AztecAddress,
|
|
354
|
+
owner: AztecAddress | undefined,
|
|
300
355
|
storageSlot: Fr,
|
|
301
356
|
numSelects: number,
|
|
302
357
|
selectByIndexes: number[],
|
|
@@ -316,7 +371,9 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
316
371
|
const pendingNotes = this.noteCache.getNotes(this.callContext.contractAddress, owner, storageSlot);
|
|
317
372
|
|
|
318
373
|
const pendingNullifiers = this.noteCache.getNullifiers(this.callContext.contractAddress);
|
|
319
|
-
|
|
374
|
+
|
|
375
|
+
const noteService = new NoteService(this.noteStore, this.aztecNode, this.anchorBlockStore);
|
|
376
|
+
const dbNotes = await noteService.getNotes(
|
|
320
377
|
this.callContext.contractAddress,
|
|
321
378
|
owner,
|
|
322
379
|
storageSlot,
|
|
@@ -494,9 +551,11 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
494
551
|
|
|
495
552
|
isStaticCall = isStaticCall || this.callContext.isStaticCall;
|
|
496
553
|
|
|
497
|
-
await verifyCurrentClassId(targetContractAddress, this.
|
|
554
|
+
await verifyCurrentClassId(targetContractAddress, this.aztecNode, this.contractStore, this.anchorBlockHeader);
|
|
555
|
+
|
|
556
|
+
await this.contractStore.syncPrivateState(targetContractAddress, functionSelector, this.utilityExecutor);
|
|
498
557
|
|
|
499
|
-
const targetArtifact = await this.
|
|
558
|
+
const targetArtifact = await this.contractStore.getFunctionArtifactWithDebugMetadata(
|
|
500
559
|
targetContractAddress,
|
|
501
560
|
functionSelector,
|
|
502
561
|
);
|
|
@@ -510,12 +569,23 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
510
569
|
derivedTxContext,
|
|
511
570
|
derivedCallContext,
|
|
512
571
|
this.anchorBlockHeader,
|
|
572
|
+
this.utilityExecutor,
|
|
513
573
|
this.authWitnesses,
|
|
514
574
|
this.capsules,
|
|
515
575
|
this.executionCache,
|
|
516
576
|
this.noteCache,
|
|
517
577
|
this.taggingIndexCache,
|
|
518
|
-
this.
|
|
578
|
+
this.contractStore,
|
|
579
|
+
this.noteStore,
|
|
580
|
+
this.keyStore,
|
|
581
|
+
this.addressStore,
|
|
582
|
+
this.aztecNode,
|
|
583
|
+
this.anchorBlockStore,
|
|
584
|
+
this.senderTaggingStore,
|
|
585
|
+
this.recipientTaggingStore,
|
|
586
|
+
this.senderAddressBookStore,
|
|
587
|
+
this.capsuleStore,
|
|
588
|
+
this.privateEventStore,
|
|
519
589
|
this.totalPublicCalldataCount,
|
|
520
590
|
sideEffectCounter,
|
|
521
591
|
this.log,
|
|
@@ -628,7 +698,7 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
628
698
|
}
|
|
629
699
|
|
|
630
700
|
public getDebugFunctionName() {
|
|
631
|
-
return this.
|
|
701
|
+
return this.contractStore.getDebugFunctionName(this.contractAddress, this.callContext.functionSelector);
|
|
632
702
|
}
|
|
633
703
|
|
|
634
704
|
public utilityEmitOffchainEffect(data: Fr[]): Promise<void> {
|