@aztec/pxe 0.0.1-commit.d3ec352c → 0.0.1-commit.f295ac2
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 +41 -0
- package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -0
- package/dest/{synchronizer/synchronizer.js → block_synchronizer/block_synchronizer.js} +35 -30
- 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/config/package_info.js +1 -1
- package/dest/contract_function_simulator/benchmarked_node.d.ts +9 -0
- package/dest/contract_function_simulator/benchmarked_node.d.ts.map +1 -0
- package/dest/contract_function_simulator/benchmarked_node.js +77 -0
- package/dest/contract_function_simulator/contract_function_simulator.d.ts +42 -14
- package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
- package/dest/contract_function_simulator/contract_function_simulator.js +73 -29
- package/dest/contract_function_simulator/execution_note_cache.d.ts +21 -12
- package/dest/contract_function_simulator/execution_note_cache.d.ts.map +1 -1
- package/dest/contract_function_simulator/execution_note_cache.js +48 -31
- 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 +4 -3
- 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 +5 -2
- 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 +4 -10
- package/dest/contract_function_simulator/noir-structs/utility_context.d.ts.map +1 -1
- package/dest/contract_function_simulator/noir-structs/utility_context.js +7 -18
- package/dest/contract_function_simulator/oracle/interfaces.d.ts +14 -13
- package/dest/contract_function_simulator/oracle/interfaces.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts +4 -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 +9 -5
- package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/note_packing_utils.js +11 -7
- package/dest/contract_function_simulator/oracle/oracle.d.ts +7 -7
- package/dest/contract_function_simulator/oracle/oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/oracle.js +37 -25
- package/dest/contract_function_simulator/oracle/private_execution.d.ts +10 -16
- package/dest/contract_function_simulator/oracle/private_execution.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/private_execution.js +19 -18
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +25 -25
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/private_execution_oracle.js +29 -44
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +63 -21
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +162 -54
- 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.d.ts +1 -1
- package/dest/entrypoints/client/bundle/utils.d.ts.map +1 -1
- package/dest/entrypoints/client/bundle/utils.js +12 -3
- 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 +1 -1
- package/dest/entrypoints/client/lazy/utils.d.ts.map +1 -1
- package/dest/entrypoints/client/lazy/utils.js +12 -3
- package/dest/entrypoints/pxe_creation_options.d.ts +5 -2
- package/dest/entrypoints/pxe_creation_options.d.ts.map +1 -1
- package/dest/entrypoints/server/index.d.ts +3 -2
- package/dest/entrypoints/server/index.d.ts.map +1 -1
- package/dest/entrypoints/server/index.js +2 -1
- package/dest/entrypoints/server/utils.d.ts +1 -1
- package/dest/entrypoints/server/utils.d.ts.map +1 -1
- package/dest/entrypoints/server/utils.js +12 -8
- 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 +16 -0
- package/dest/events/event_service.d.ts.map +1 -0
- package/dest/events/event_service.js +45 -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 +38 -0
- package/dest/job_coordinator/job_coordinator.d.ts +74 -0
- package/dest/job_coordinator/job_coordinator.d.ts.map +1 -0
- package/dest/job_coordinator/job_coordinator.js +93 -0
- package/dest/logs/log_service.d.ts +27 -0
- package/dest/logs/log_service.d.ts.map +1 -0
- package/dest/logs/log_service.js +122 -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 +147 -0
- package/dest/oracle_version.d.ts +2 -2
- package/dest/oracle_version.js +2 -2
- package/dest/private_kernel/hints/index.d.ts +2 -2
- package/dest/private_kernel/hints/index.d.ts.map +1 -1
- package/dest/private_kernel/hints/index.js +1 -1
- package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts +28 -0
- package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts.map +1 -0
- package/dest/private_kernel/hints/{build_private_kernel_reset_private_inputs.js → private_kernel_reset_private_inputs_builder.js} +13 -7
- package/dest/private_kernel/private_kernel_execution_prover.d.ts +1 -1
- package/dest/private_kernel/private_kernel_execution_prover.d.ts.map +1 -1
- package/dest/private_kernel/private_kernel_execution_prover.js +8 -9
- package/dest/private_kernel/private_kernel_oracle.d.ts +26 -29
- package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -1
- package/dest/private_kernel/private_kernel_oracle.js +90 -2
- package/dest/pxe.d.ts +45 -81
- package/dest/pxe.d.ts.map +1 -1
- package/dest/pxe.js +182 -215
- 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 +72 -0
- package/dest/storage/capsule_store/capsule_store.d.ts.map +1 -0
- package/dest/storage/capsule_store/capsule_store.js +255 -0
- 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} +15 -13
- 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} +105 -102
- package/dest/storage/private_event_store/private_event_store.d.ts +78 -0
- package/dest/storage/private_event_store/private_event_store.d.ts.map +1 -0
- package/dest/storage/private_event_store/private_event_store.js +222 -0
- 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 +28 -0
- package/dest/storage/tagging_store/recipient_tagging_store.d.ts.map +1 -0
- package/dest/storage/tagging_store/recipient_tagging_store.js +99 -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 +77 -0
- package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -0
- package/dest/storage/tagging_store/sender_tagging_store.js +278 -0
- package/dest/tagging/constants.d.ts +2 -2
- package/dest/tagging/constants.d.ts.map +1 -1
- package/dest/tagging/constants.js +10 -2
- package/dest/tagging/index.d.ts +15 -6
- package/dest/tagging/index.d.ts.map +1 -1
- package/dest/tagging/index.js +14 -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 +20 -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 +57 -0
- package/dest/tree_membership/tree_membership_service.d.ts +50 -0
- package/dest/tree_membership/tree_membership_service.d.ts.map +1 -0
- package/dest/tree_membership/tree_membership_service.js +75 -0
- package/package.json +18 -18
- package/src/bin/check_oracle_version.ts +130 -20
- package/src/{synchronizer/synchronizer.ts → block_synchronizer/block_synchronizer.ts} +44 -30
- package/src/block_synchronizer/index.ts +1 -0
- package/src/config/index.ts +3 -3
- package/src/config/package_info.ts +1 -1
- package/src/contract_function_simulator/benchmarked_node.ts +103 -0
- package/src/contract_function_simulator/contract_function_simulator.ts +118 -30
- package/src/contract_function_simulator/execution_note_cache.ts +51 -29
- 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 +5 -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 +6 -25
- package/src/contract_function_simulator/oracle/interfaces.ts +13 -12
- package/src/contract_function_simulator/oracle/message_load_oracle_inputs.ts +1 -1
- package/src/contract_function_simulator/oracle/note_packing_utils.ts +23 -9
- package/src/contract_function_simulator/oracle/oracle.ts +44 -28
- package/src/contract_function_simulator/oracle/private_execution.ts +22 -30
- package/src/contract_function_simulator/oracle/private_execution_oracle.ts +97 -58
- package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +233 -63
- 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 +9 -3
- package/src/entrypoints/client/lazy/index.ts +0 -1
- package/src/entrypoints/client/lazy/utils.ts +9 -4
- package/src/entrypoints/pxe_creation_options.ts +4 -1
- package/src/entrypoints/server/index.ts +2 -1
- package/src/entrypoints/server/utils.ts +12 -16
- package/src/error_enriching.ts +7 -15
- package/src/events/event_service.ts +73 -0
- package/src/events/index.ts +1 -0
- package/src/events/private_event_filter_validator.ts +46 -0
- package/src/job_coordinator/job_coordinator.ts +149 -0
- package/src/logs/log_service.ts +204 -0
- package/src/notes/index.ts +1 -0
- package/src/notes/note_service.ts +194 -0
- package/src/oracle_version.ts +2 -2
- package/src/private_kernel/hints/index.ts +1 -1
- package/src/private_kernel/hints/{build_private_kernel_reset_private_inputs.ts → private_kernel_reset_private_inputs_builder.ts} +34 -23
- package/src/private_kernel/private_kernel_execution_prover.ts +7 -9
- package/src/private_kernel/private_kernel_oracle.ts +118 -37
- package/src/pxe.ts +233 -279
- 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_store/capsule_store.ts +315 -0
- 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} +117 -105
- package/src/storage/private_event_store/private_event_store.ts +324 -0
- package/src/storage/tagging_store/index.ts +3 -0
- package/src/storage/tagging_store/recipient_tagging_store.ts +129 -0
- package/src/storage/tagging_store/sender_address_book_store.ts +42 -0
- package/src/storage/tagging_store/sender_tagging_store.ts +345 -0
- package/src/tagging/constants.ts +10 -2
- package/src/tagging/index.ts +17 -5
- package/src/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.ts +133 -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 +97 -0
- package/src/tagging/sender_sync/utils/get_status_change_of_pending.ts +48 -0
- package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +75 -0
- package/src/tree_membership/tree_membership_service.ts +97 -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/proxied_node.d.ts +0 -9
- package/dest/contract_function_simulator/proxied_node.d.ts.map +0 -1
- package/dest/contract_function_simulator/proxied_node.js +0 -27
- 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/private_kernel/hints/build_private_kernel_reset_private_inputs.d.ts +0 -28
- package/dest/private_kernel/hints/build_private_kernel_reset_private_inputs.d.ts.map +0 -1
- package/dest/private_kernel/private_kernel_oracle_impl.d.ts +0 -45
- package/dest/private_kernel/private_kernel_oracle_impl.d.ts.map +0 -1
- package/dest/private_kernel/private_kernel_oracle_impl.js +0 -86
- 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/capsule_data_provider.js +0 -118
- 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/private_event_data_provider/private_event_data_provider.js +0 -105
- 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/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/proxied_node.ts +0 -33
- package/src/contract_function_simulator/pxe_oracle_interface.ts +0 -1023
- package/src/private_kernel/private_kernel_oracle_impl.ts +0 -132
- package/src/storage/address_data_provider/index.ts +0 -1
- package/src/storage/capsule_data_provider/capsule_data_provider.ts +0 -147
- 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/private_event_data_provider/private_event_data_provider.ts +0 -143
- 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/siloed_tag.ts +0 -22
- package/src/tagging/tag.ts +0 -16
- package/src/tagging/utils.ts +0 -31
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH, PRIVATE_CONTEXT_INPUTS_LENGTH } from '@aztec/constants';
|
|
2
|
-
import {
|
|
3
|
-
import { Fr } from '@aztec/foundation/fields';
|
|
2
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
4
3
|
import { createLogger } from '@aztec/foundation/log';
|
|
5
4
|
import { Timer } from '@aztec/foundation/timer';
|
|
6
5
|
import { ProtocolContractAddress } from '@aztec/protocol-contracts';
|
|
@@ -19,15 +18,15 @@ import {
|
|
|
19
18
|
countArgumentsSize,
|
|
20
19
|
} from '@aztec/stdlib/abi';
|
|
21
20
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
21
|
+
import { L2BlockHash } from '@aztec/stdlib/block';
|
|
22
22
|
import type { ContractInstance } from '@aztec/stdlib/contract';
|
|
23
23
|
import { DelayedPublicMutableValues, DelayedPublicMutableValuesWithHash } from '@aztec/stdlib/delayed-public-mutable';
|
|
24
24
|
import type { AztecNode } from '@aztec/stdlib/interfaces/client';
|
|
25
25
|
import { PrivateCircuitPublicInputs } from '@aztec/stdlib/kernel';
|
|
26
26
|
import type { CircuitWitnessGenerationStats } from '@aztec/stdlib/stats';
|
|
27
27
|
import { BlockHeader, PrivateCallExecutionResult } from '@aztec/stdlib/tx';
|
|
28
|
-
import type { UInt64 } from '@aztec/stdlib/types';
|
|
29
28
|
|
|
30
|
-
import
|
|
29
|
+
import { ContractStore } from '../../storage/contract_store/index.js';
|
|
31
30
|
import { Oracle } from './oracle.js';
|
|
32
31
|
import type { PrivateExecutionOracle } from './private_execution_oracle.js';
|
|
33
32
|
|
|
@@ -85,7 +84,6 @@ export async function executePrivateFunction(
|
|
|
85
84
|
|
|
86
85
|
const rawReturnValues = await privateExecutionOracle.privateLoadFromExecutionCache(publicInputs.returnsHash);
|
|
87
86
|
|
|
88
|
-
const noteHashLeafIndexMap = privateExecutionOracle.getNoteHashLeafIndexMap();
|
|
89
87
|
const newNotes = privateExecutionOracle.getNewNotes();
|
|
90
88
|
const noteHashNullifierCounterMap = privateExecutionOracle.getNoteHashNullifierCounterMap();
|
|
91
89
|
const offchainEffects = privateExecutionOracle.getOffchainEffects();
|
|
@@ -108,7 +106,6 @@ export async function executePrivateFunction(
|
|
|
108
106
|
Buffer.from(artifact.verificationKey!, 'base64'),
|
|
109
107
|
partialWitness,
|
|
110
108
|
publicInputs,
|
|
111
|
-
noteHashLeafIndexMap,
|
|
112
109
|
newNotes,
|
|
113
110
|
noteHashNullifierCounterMap,
|
|
114
111
|
rawReturnValues,
|
|
@@ -154,21 +151,22 @@ export function extractPrivateCircuitPublicInputs(
|
|
|
154
151
|
* from the instance is used.
|
|
155
152
|
* @param contractAddress - The address of the contract to read the class id for.
|
|
156
153
|
* @param instance - The instance of the contract.
|
|
157
|
-
* @param
|
|
158
|
-
* @param
|
|
159
|
-
* @param timestamp - The timestamp at which to obtain the class id from the DelayedPublicMutable.
|
|
154
|
+
* @param aztecNode - The Aztec node to query for storage.
|
|
155
|
+
* @param header - The header of the block at which to load the DelayedPublicMutable storing the class id.
|
|
160
156
|
* @returns The current class id.
|
|
161
157
|
*/
|
|
162
158
|
export async function readCurrentClassId(
|
|
163
159
|
contractAddress: AztecAddress,
|
|
164
160
|
instance: ContractInstance,
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
timestamp: UInt64,
|
|
161
|
+
aztecNode: AztecNode,
|
|
162
|
+
header: BlockHeader,
|
|
168
163
|
) {
|
|
164
|
+
const blockHashFr = await header.hash();
|
|
165
|
+
const blockHash = L2BlockHash.fromField(blockHashFr);
|
|
166
|
+
const timestamp = header.globalVariables.timestamp;
|
|
169
167
|
const { delayedPublicMutableSlot } = await DelayedPublicMutableValuesWithHash.getContractUpdateSlots(contractAddress);
|
|
170
168
|
const delayedPublicMutableValues = await DelayedPublicMutableValues.readFromTree(delayedPublicMutableSlot, slot =>
|
|
171
|
-
|
|
169
|
+
aztecNode.getPublicStorageAt(blockHash, ProtocolContractAddress.ContractInstanceRegistry, slot),
|
|
172
170
|
);
|
|
173
171
|
let currentClassId = delayedPublicMutableValues.svc.getCurrentAt(timestamp)[0];
|
|
174
172
|
if (currentClassId.isZero()) {
|
|
@@ -178,28 +176,22 @@ export async function readCurrentClassId(
|
|
|
178
176
|
}
|
|
179
177
|
|
|
180
178
|
/**
|
|
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
|
|
184
|
-
* @param executionDataProvider - The execution data provider.
|
|
185
|
-
* @param header - The header of the block at which to verify the current class id. If not provided, the anchor block
|
|
186
|
-
* header of the execution data provider is used.
|
|
179
|
+
* Verify that the current class id of a contract obtained from AztecNode is the same as the one in contract data
|
|
180
|
+
* provider (i.e. PXE's own storage).
|
|
181
|
+
* @param header - The header of the block at which to verify the current class id.
|
|
187
182
|
*/
|
|
188
183
|
export async function verifyCurrentClassId(
|
|
189
184
|
contractAddress: AztecAddress,
|
|
190
|
-
|
|
191
|
-
|
|
185
|
+
aztecNode: AztecNode,
|
|
186
|
+
contractStore: ContractStore,
|
|
187
|
+
header: BlockHeader,
|
|
192
188
|
) {
|
|
193
|
-
|
|
189
|
+
const instance = await contractStore.getContractInstance(contractAddress);
|
|
190
|
+
if (!instance) {
|
|
191
|
+
throw new Error(`No contract instance found for address ${contractAddress.toString()}`);
|
|
192
|
+
}
|
|
194
193
|
|
|
195
|
-
const
|
|
196
|
-
const currentClassId = await readCurrentClassId(
|
|
197
|
-
contractAddress,
|
|
198
|
-
instance,
|
|
199
|
-
executionDataProvider,
|
|
200
|
-
header.globalVariables.blockNumber,
|
|
201
|
-
header.globalVariables.timestamp,
|
|
202
|
-
);
|
|
194
|
+
const currentClassId = await readCurrentClassId(contractAddress, instance, aztecNode, header);
|
|
203
195
|
if (!instance.currentContractClassId.equals(currentClassId)) {
|
|
204
196
|
throw new Error(
|
|
205
197
|
`Contract ${contractAddress} is outdated, current class id is ${currentClassId}, local class id is ${instance.currentContractClassId}`,
|
|
@@ -1,20 +1,24 @@
|
|
|
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,
|
|
12
14
|
} from '@aztec/stdlib/abi';
|
|
13
15
|
import type { AuthWitness } from '@aztec/stdlib/auth-witness';
|
|
14
16
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
15
|
-
import {
|
|
17
|
+
import { 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';
|
|
@@ -51,16 +64,6 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
51
64
|
* Users can also use this to get a clearer idea of what's happened during a simulation.
|
|
52
65
|
*/
|
|
53
66
|
private newNotes: NoteAndSlot[] = [];
|
|
54
|
-
/**
|
|
55
|
-
* Notes from previous transactions that are returned to the oracle call `getNotes` during this execution.
|
|
56
|
-
* The mapping maps from the unique siloed note hash to the index for notes created in private executions.
|
|
57
|
-
* It maps from siloed note hash to the index for notes created by public functions.
|
|
58
|
-
*
|
|
59
|
-
* They are not part of the ExecutionNoteCache and being forwarded to nested contexts via `extend()`
|
|
60
|
-
* because these notes are meant to be maintained on a per-call basis
|
|
61
|
-
* They should act as references for the read requests output by an app circuit via public inputs.
|
|
62
|
-
*/
|
|
63
|
-
private noteHashLeafIndexMap: Map<bigint, bigint> = new Map();
|
|
64
67
|
private noteHashNullifierCounterMap: Map<number, number> = new Map();
|
|
65
68
|
private contractClassLogs: CountedContractClassLog[] = [];
|
|
66
69
|
private offchainEffects: { data: Fr[] }[] = [];
|
|
@@ -71,14 +74,27 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
71
74
|
private readonly txContext: TxContext,
|
|
72
75
|
private readonly callContext: CallContext,
|
|
73
76
|
/** Header of a block whose state is used during private execution (not the block the transaction is included in). */
|
|
74
|
-
protected readonly anchorBlockHeader: BlockHeader,
|
|
77
|
+
protected override readonly anchorBlockHeader: BlockHeader,
|
|
78
|
+
/** Needed to trigger contract synchronization before nested calls */
|
|
79
|
+
private readonly utilityExecutor: (call: FunctionCall) => Promise<void>,
|
|
75
80
|
/** List of transient auth witnesses to be used during this simulation */
|
|
76
81
|
authWitnesses: AuthWitness[],
|
|
77
82
|
capsules: Capsule[],
|
|
78
83
|
private readonly executionCache: HashedValuesCache,
|
|
79
84
|
private readonly noteCache: ExecutionNoteCache,
|
|
80
85
|
private readonly taggingIndexCache: ExecutionTaggingIndexCache,
|
|
81
|
-
|
|
86
|
+
contractStore: ContractStore,
|
|
87
|
+
noteStore: NoteStore,
|
|
88
|
+
keyStore: KeyStore,
|
|
89
|
+
addressStore: AddressStore,
|
|
90
|
+
aztecNode: AztecNode,
|
|
91
|
+
anchorBlockStore: AnchorBlockStore,
|
|
92
|
+
private readonly senderTaggingStore: SenderTaggingStore,
|
|
93
|
+
recipientTaggingStore: RecipientTaggingStore,
|
|
94
|
+
senderAddressBookStore: SenderAddressBookStore,
|
|
95
|
+
capsuleStore: CapsuleStore,
|
|
96
|
+
privateEventStore: PrivateEventStore,
|
|
97
|
+
jobId: string,
|
|
82
98
|
private totalPublicCalldataCount: number = 0,
|
|
83
99
|
protected sideEffectCounter: number = 0,
|
|
84
100
|
log = createLogger('simulator:client_execution_context'),
|
|
@@ -86,7 +102,25 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
86
102
|
private senderForTags?: AztecAddress,
|
|
87
103
|
private simulator?: CircuitSimulator,
|
|
88
104
|
) {
|
|
89
|
-
super(
|
|
105
|
+
super(
|
|
106
|
+
callContext.contractAddress,
|
|
107
|
+
authWitnesses,
|
|
108
|
+
capsules,
|
|
109
|
+
anchorBlockHeader,
|
|
110
|
+
contractStore,
|
|
111
|
+
noteStore,
|
|
112
|
+
keyStore,
|
|
113
|
+
addressStore,
|
|
114
|
+
aztecNode,
|
|
115
|
+
anchorBlockStore,
|
|
116
|
+
recipientTaggingStore,
|
|
117
|
+
senderAddressBookStore,
|
|
118
|
+
capsuleStore,
|
|
119
|
+
privateEventStore,
|
|
120
|
+
jobId,
|
|
121
|
+
log,
|
|
122
|
+
scopes,
|
|
123
|
+
);
|
|
90
124
|
}
|
|
91
125
|
|
|
92
126
|
public getPrivateContextInputs(): PrivateContextInputs {
|
|
@@ -118,14 +152,6 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
118
152
|
return toACVMWitness(0, fields);
|
|
119
153
|
}
|
|
120
154
|
|
|
121
|
-
/**
|
|
122
|
-
* The KernelProver will use this to fully populate witnesses and provide hints to the kernel circuit
|
|
123
|
-
* regarding which note hash each settled read request corresponds to.
|
|
124
|
-
*/
|
|
125
|
-
public getNoteHashLeafIndexMap() {
|
|
126
|
-
return this.noteHashLeafIndexMap;
|
|
127
|
-
}
|
|
128
|
-
|
|
129
155
|
/**
|
|
130
156
|
* Get the data for the newly created notes.
|
|
131
157
|
*/
|
|
@@ -152,7 +178,7 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
152
178
|
}
|
|
153
179
|
|
|
154
180
|
/**
|
|
155
|
-
* Returns the pre
|
|
181
|
+
* Returns the pre-tags that were used in this execution (and that need to be stored in the db).
|
|
156
182
|
*/
|
|
157
183
|
public getUsedPreTags(): PreTag[] {
|
|
158
184
|
return this.taggingIndexCache.getUsedPreTags();
|
|
@@ -202,11 +228,7 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
202
228
|
* @returns An app tag to be used in a log.
|
|
203
229
|
*/
|
|
204
230
|
public async privateGetNextAppTagAsSender(sender: AztecAddress, recipient: AztecAddress): Promise<Tag> {
|
|
205
|
-
const secret = await this
|
|
206
|
-
this.contractAddress,
|
|
207
|
-
sender,
|
|
208
|
-
recipient,
|
|
209
|
-
);
|
|
231
|
+
const secret = await this.#calculateDirectionalAppTaggingSecret(this.contractAddress, sender, recipient);
|
|
210
232
|
|
|
211
233
|
const index = await this.#getIndexToUseForSecret(secret);
|
|
212
234
|
this.log.debug(
|
|
@@ -217,6 +239,22 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
217
239
|
return Tag.compute({ secret, index });
|
|
218
240
|
}
|
|
219
241
|
|
|
242
|
+
async #calculateDirectionalAppTaggingSecret(
|
|
243
|
+
contractAddress: AztecAddress,
|
|
244
|
+
sender: AztecAddress,
|
|
245
|
+
recipient: AztecAddress,
|
|
246
|
+
) {
|
|
247
|
+
const senderCompleteAddress = await this.getCompleteAddress(sender);
|
|
248
|
+
const senderIvsk = await this.keyStore.getMasterIncomingViewingSecretKey(sender);
|
|
249
|
+
return DirectionalAppTaggingSecret.compute(
|
|
250
|
+
senderCompleteAddress,
|
|
251
|
+
senderIvsk,
|
|
252
|
+
recipient,
|
|
253
|
+
contractAddress,
|
|
254
|
+
recipient,
|
|
255
|
+
);
|
|
256
|
+
}
|
|
257
|
+
|
|
220
258
|
async #getIndexToUseForSecret(secret: DirectionalAppTaggingSecret): Promise<number> {
|
|
221
259
|
// If we have the tagging index in the cache, we use it. If not we obtain it from the execution data provider.
|
|
222
260
|
const lastUsedIndexInTx = this.taggingIndexCache.getLastUsedIndex(secret);
|
|
@@ -227,8 +265,9 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
227
265
|
// This is a tagging secret we've not yet used in this tx, so first sync our store to make sure its indices
|
|
228
266
|
// are up to date. We do this here because this store is not synced as part of the global sync because
|
|
229
267
|
// that'd be wasteful as most tagging secrets are not used in each tx.
|
|
230
|
-
await this.
|
|
231
|
-
|
|
268
|
+
await syncSenderTaggingIndexes(secret, this.contractAddress, this.aztecNode, this.senderTaggingStore, this.jobId);
|
|
269
|
+
|
|
270
|
+
const lastUsedIndex = await this.senderTaggingStore.getLastUsedIndex(secret, this.jobId);
|
|
232
271
|
// If lastUsedIndex is undefined, we've never used this secret, so start from 0
|
|
233
272
|
// Otherwise, the next index to use is one past the last used index
|
|
234
273
|
return lastUsedIndex === undefined ? 0 : lastUsedIndex + 1;
|
|
@@ -282,7 +321,7 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
282
321
|
* Real notes coming from DB will have a leafIndex which
|
|
283
322
|
* represents their index in the note hash tree.
|
|
284
323
|
*
|
|
285
|
-
* @param owner - The owner of the notes.
|
|
324
|
+
* @param owner - The owner of the notes. If undefined, returns notes for all owners.
|
|
286
325
|
* @param storageSlot - The storage slot.
|
|
287
326
|
* @param numSelects - The number of valid selects in selectBy and selectValues.
|
|
288
327
|
* @param selectBy - An array of indices of the fields to selects.
|
|
@@ -296,7 +335,7 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
296
335
|
* @returns Array of note data.
|
|
297
336
|
*/
|
|
298
337
|
public override async utilityGetNotes(
|
|
299
|
-
owner: AztecAddress,
|
|
338
|
+
owner: AztecAddress | undefined,
|
|
300
339
|
storageSlot: Fr,
|
|
301
340
|
numSelects: number,
|
|
302
341
|
selectByIndexes: number[],
|
|
@@ -316,7 +355,9 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
316
355
|
const pendingNotes = this.noteCache.getNotes(this.callContext.contractAddress, owner, storageSlot);
|
|
317
356
|
|
|
318
357
|
const pendingNullifiers = this.noteCache.getNullifiers(this.callContext.contractAddress);
|
|
319
|
-
|
|
358
|
+
|
|
359
|
+
const noteService = new NoteService(this.noteStore, this.aztecNode, this.anchorBlockStore);
|
|
360
|
+
const dbNotes = await noteService.getNotes(
|
|
320
361
|
this.callContext.contractAddress,
|
|
321
362
|
owner,
|
|
322
363
|
storageSlot,
|
|
@@ -345,23 +386,6 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
345
386
|
.join(', ')}`,
|
|
346
387
|
);
|
|
347
388
|
|
|
348
|
-
const noteHashesAndIndexes = await Promise.all(
|
|
349
|
-
notes.map(async n => {
|
|
350
|
-
if (n.index !== undefined) {
|
|
351
|
-
const siloedNoteHash = await siloNoteHash(n.contractAddress, n.noteHash);
|
|
352
|
-
const uniqueNoteHash = await computeUniqueNoteHash(n.noteNonce, siloedNoteHash);
|
|
353
|
-
|
|
354
|
-
return { hash: uniqueNoteHash, index: n.index };
|
|
355
|
-
}
|
|
356
|
-
}),
|
|
357
|
-
);
|
|
358
|
-
|
|
359
|
-
noteHashesAndIndexes
|
|
360
|
-
.filter(n => n !== undefined)
|
|
361
|
-
.forEach(n => {
|
|
362
|
-
this.noteHashLeafIndexMap.set(n!.hash.toBigInt(), n!.index);
|
|
363
|
-
});
|
|
364
|
-
|
|
365
389
|
return notes;
|
|
366
390
|
}
|
|
367
391
|
|
|
@@ -404,6 +428,7 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
404
428
|
note,
|
|
405
429
|
siloedNullifier: undefined, // Siloed nullifier cannot be known for newly created note.
|
|
406
430
|
noteHash,
|
|
431
|
+
isPending: true, // This note has just been created and hence is not settled yet.
|
|
407
432
|
},
|
|
408
433
|
counter,
|
|
409
434
|
);
|
|
@@ -494,9 +519,11 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
494
519
|
|
|
495
520
|
isStaticCall = isStaticCall || this.callContext.isStaticCall;
|
|
496
521
|
|
|
497
|
-
await verifyCurrentClassId(targetContractAddress, this.
|
|
522
|
+
await verifyCurrentClassId(targetContractAddress, this.aztecNode, this.contractStore, this.anchorBlockHeader);
|
|
523
|
+
|
|
524
|
+
await this.contractStore.syncPrivateState(targetContractAddress, functionSelector, this.utilityExecutor);
|
|
498
525
|
|
|
499
|
-
const targetArtifact = await this.
|
|
526
|
+
const targetArtifact = await this.contractStore.getFunctionArtifactWithDebugMetadata(
|
|
500
527
|
targetContractAddress,
|
|
501
528
|
functionSelector,
|
|
502
529
|
);
|
|
@@ -510,12 +537,24 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
510
537
|
derivedTxContext,
|
|
511
538
|
derivedCallContext,
|
|
512
539
|
this.anchorBlockHeader,
|
|
540
|
+
this.utilityExecutor,
|
|
513
541
|
this.authWitnesses,
|
|
514
542
|
this.capsules,
|
|
515
543
|
this.executionCache,
|
|
516
544
|
this.noteCache,
|
|
517
545
|
this.taggingIndexCache,
|
|
518
|
-
this.
|
|
546
|
+
this.contractStore,
|
|
547
|
+
this.noteStore,
|
|
548
|
+
this.keyStore,
|
|
549
|
+
this.addressStore,
|
|
550
|
+
this.aztecNode,
|
|
551
|
+
this.anchorBlockStore,
|
|
552
|
+
this.senderTaggingStore,
|
|
553
|
+
this.recipientTaggingStore,
|
|
554
|
+
this.senderAddressBookStore,
|
|
555
|
+
this.capsuleStore,
|
|
556
|
+
this.privateEventStore,
|
|
557
|
+
this.jobId,
|
|
519
558
|
this.totalPublicCalldataCount,
|
|
520
559
|
sideEffectCounter,
|
|
521
560
|
this.log,
|
|
@@ -628,7 +667,7 @@ export class PrivateExecutionOracle extends UtilityExecutionOracle implements IP
|
|
|
628
667
|
}
|
|
629
668
|
|
|
630
669
|
public getDebugFunctionName() {
|
|
631
|
-
return this.
|
|
670
|
+
return this.contractStore.getDebugFunctionName(this.contractAddress, this.callContext.functionSelector);
|
|
632
671
|
}
|
|
633
672
|
|
|
634
673
|
public utilityEmitOffchainEffect(data: Fr[]): Promise<void> {
|