@aztec/pxe 0.0.1-commit.d3ec352c → 0.0.1-commit.e61ad554
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 +43 -0
- package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -0
- package/dest/block_synchronizer/block_synchronizer.js +147 -0
- 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 +6 -4
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +17 -0
- 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 +71 -30
- 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/index.d.ts +2 -2
- package/dest/contract_function_simulator/index.d.ts.map +1 -1
- package/dest/contract_function_simulator/index.js +1 -1
- package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts +5 -4
- 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 -3
- 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 +3 -3
- 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 +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 +20 -16
- 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 +11 -7
- package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/note_packing_utils.js +14 -10
- package/dest/contract_function_simulator/oracle/oracle.d.ts +10 -8
- package/dest/contract_function_simulator/oracle/oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/oracle.js +58 -36
- package/dest/contract_function_simulator/oracle/private_execution.d.ts +2 -28
- package/dest/contract_function_simulator/oracle/private_execution.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/private_execution.js +2 -38
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +33 -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 +41 -45
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +75 -25
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +170 -64
- 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/contract_sync/index.d.ts +23 -0
- package/dest/contract_sync/index.d.ts.map +1 -0
- package/dest/contract_sync/index.js +54 -0
- 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 +38 -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 +4 -2
- package/dest/entrypoints/server/index.d.ts.map +1 -1
- package/dest/entrypoints/server/index.js +3 -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 +128 -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 +49 -0
- package/dest/notes/note_service.d.ts.map +1 -0
- package/dest/notes/note_service.js +148 -0
- package/dest/oracle_version.d.ts +3 -3
- package/dest/oracle_version.d.ts.map +1 -1
- package/dest/oracle_version.js +4 -3
- 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 +185 -216
- 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} +7 -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} +34 -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_store/note_store.d.ts +73 -0
- package/dest/storage/note_store/note_store.d.ts.map +1 -0
- package/dest/storage/note_store/note_store.js +303 -0
- package/dest/storage/note_store/stored_note.d.ts +16 -0
- package/dest/storage/note_store/stored_note.d.ts.map +1 -0
- package/dest/storage/note_store/stored_note.js +43 -0
- package/dest/storage/private_event_store/private_event_store.d.ts +91 -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 +250 -0
- package/dest/storage/private_event_store/stored_private_event.d.ts +23 -0
- package/dest/storage/private_event_store/stored_private_event.d.ts.map +1 -0
- package/dest/storage/private_event_store/stored_private_event.js +56 -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/get_all_logs_by_tags.d.ts +24 -0
- package/dest/tagging/get_all_logs_by_tags.d.ts.map +1 -0
- package/dest/tagging/get_all_logs_by_tags.js +46 -0
- package/dest/tagging/index.d.ts +16 -6
- package/dest/tagging/index.d.ts.map +1 -1
- package/dest/tagging/index.js +15 -5
- package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts +15 -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 +15 -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 +32 -0
- package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts +21 -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 +29 -0
- package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts +21 -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 +60 -0
- package/package.json +18 -18
- package/src/bin/check_oracle_version.ts +131 -20
- package/src/block_synchronizer/block_synchronizer.ts +174 -0
- package/src/block_synchronizer/index.ts +1 -0
- package/src/config/index.ts +17 -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 +113 -33
- 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/index.ts +1 -1
- package/src/contract_function_simulator/noir-structs/event_validation_request.ts +6 -2
- 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 +2 -2
- package/src/contract_function_simulator/noir-structs/utility_context.ts +6 -25
- package/src/contract_function_simulator/oracle/interfaces.ts +25 -15
- package/src/contract_function_simulator/oracle/message_load_oracle_inputs.ts +1 -1
- package/src/contract_function_simulator/oracle/note_packing_utils.ts +27 -13
- package/src/contract_function_simulator/oracle/oracle.ts +74 -45
- package/src/contract_function_simulator/oracle/private_execution.ts +2 -69
- package/src/contract_function_simulator/oracle/private_execution_oracle.ts +124 -59
- package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +259 -81
- package/src/contract_function_simulator/pick_notes.ts +1 -1
- package/src/contract_function_simulator/proxied_contract_data_source.ts +24 -7
- package/src/contract_sync/index.ts +98 -0
- package/src/debug/pxe_debug_utils.ts +49 -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 +3 -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 +220 -0
- package/src/notes/index.ts +1 -0
- package/src/notes/note_service.ts +197 -0
- package/src/oracle_version.ts +4 -3
- 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 +257 -280
- 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} +45 -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_store/note_store.ts +381 -0
- package/src/storage/note_store/stored_note.ts +48 -0
- package/src/storage/private_event_store/private_event_store.ts +363 -0
- package/src/storage/private_event_store/stored_private_event.ts +73 -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/get_all_logs_by_tags.ts +68 -0
- package/src/tagging/index.ts +18 -5
- package/src/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.ts +143 -0
- package/src/tagging/recipient_sync/utils/find_highest_indexes.ts +34 -0
- package/src/tagging/recipient_sync/utils/load_logs_for_range.ts +49 -0
- package/src/tagging/sender_sync/sync_sender_tagging_indexes.ts +99 -0
- package/src/tagging/sender_sync/utils/get_status_change_of_pending.ts +36 -0
- package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +84 -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 +0 -83
- package/dest/storage/note_data_provider/note_data_provider.d.ts.map +0 -1
- package/dest/storage/note_data_provider/note_data_provider.js +0 -314
- 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/synchronizer/synchronizer.js +0 -102
- 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/note_data_provider/note_data_provider.ts +0 -403
- 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/synchronizer/synchronizer.ts +0 -121
- package/src/tagging/siloed_tag.ts +0 -22
- package/src/tagging/tag.ts +0 -16
- package/src/tagging/utils.ts +0 -31
|
@@ -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,
|
|
@@ -11,11 +12,11 @@ import {
|
|
|
11
12
|
} from '@aztec/simulator/client';
|
|
12
13
|
import { FunctionSelector, NoteSelector } from '@aztec/stdlib/abi';
|
|
13
14
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
15
|
+
import { L2BlockHash } from '@aztec/stdlib/block';
|
|
14
16
|
import { ContractClassLog, ContractClassLogFields } from '@aztec/stdlib/logs';
|
|
15
|
-
import { MerkleTreeId } from '@aztec/stdlib/trees';
|
|
16
17
|
|
|
17
18
|
import type { IMiscOracle, IPrivateExecutionOracle, IUtilityExecutionOracle } from './interfaces.js';
|
|
18
|
-
import {
|
|
19
|
+
import { packAsHintedNote } from './note_packing_utils.js';
|
|
19
20
|
|
|
20
21
|
export class UnavailableOracleError extends Error {
|
|
21
22
|
constructor(oracleName: string) {
|
|
@@ -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[]> {
|
|
@@ -136,77 +137,84 @@ export class Oracle {
|
|
|
136
137
|
].map(toACVMField);
|
|
137
138
|
}
|
|
138
139
|
|
|
139
|
-
async
|
|
140
|
-
[
|
|
141
|
-
[treeId]: ACVMField[],
|
|
140
|
+
async utilityGetNoteHashMembershipWitness(
|
|
141
|
+
[blockHash]: ACVMField[],
|
|
142
142
|
[leafValue]: ACVMField[],
|
|
143
143
|
): Promise<(ACVMField | ACVMField[])[]> {
|
|
144
|
-
const
|
|
145
|
-
const parsedTreeId = Fr.fromString(treeId).toNumber();
|
|
144
|
+
const parsedBlockHash = L2BlockHash.fromString(blockHash);
|
|
146
145
|
const parsedLeafValue = Fr.fromString(leafValue);
|
|
147
146
|
|
|
148
|
-
const witness = await this.handlerAsUtility().
|
|
149
|
-
BlockNumber(parsedBlockNumber),
|
|
150
|
-
parsedTreeId,
|
|
151
|
-
parsedLeafValue,
|
|
152
|
-
);
|
|
147
|
+
const witness = await this.handlerAsUtility().utilityGetNoteHashMembershipWitness(parsedBlockHash, parsedLeafValue);
|
|
153
148
|
if (!witness) {
|
|
154
|
-
throw new Error(
|
|
155
|
-
`Leaf ${leafValue} not found in the tree ${MerkleTreeId[parsedTreeId]} at block ${parsedBlockNumber}.`,
|
|
156
|
-
);
|
|
149
|
+
throw new Error(`Leaf ${leafValue} not found in the note hash tree at block hash ${parsedBlockHash.toString()}.`);
|
|
157
150
|
}
|
|
158
|
-
return
|
|
151
|
+
return witness.toNoirRepresentation();
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
async utilityGetArchiveMembershipWitness(
|
|
155
|
+
[blockHash]: ACVMField[],
|
|
156
|
+
[leafValue]: ACVMField[],
|
|
157
|
+
): Promise<(ACVMField | ACVMField[])[]> {
|
|
158
|
+
const parsedBlockHash = L2BlockHash.fromString(blockHash);
|
|
159
|
+
const parsedLeafValue = Fr.fromString(leafValue);
|
|
160
|
+
|
|
161
|
+
const witness = await this.handlerAsUtility().utilityGetArchiveMembershipWitness(parsedBlockHash, parsedLeafValue);
|
|
162
|
+
if (!witness) {
|
|
163
|
+
throw new Error(`Leaf ${leafValue} not found in the archive tree at block hash ${parsedBlockHash.toString()}.`);
|
|
164
|
+
}
|
|
165
|
+
return witness.toNoirRepresentation();
|
|
159
166
|
}
|
|
160
167
|
|
|
161
168
|
async utilityGetNullifierMembershipWitness(
|
|
162
|
-
[
|
|
169
|
+
[blockHash]: ACVMField[],
|
|
163
170
|
[nullifier]: ACVMField[], // nullifier, we try to find the witness for (to prove inclusion)
|
|
164
171
|
): Promise<(ACVMField | ACVMField[])[]> {
|
|
165
|
-
const
|
|
172
|
+
const parsedBlockHash = L2BlockHash.fromString(blockHash);
|
|
166
173
|
const parsedNullifier = Fr.fromString(nullifier);
|
|
167
174
|
|
|
168
175
|
const witness = await this.handlerAsUtility().utilityGetNullifierMembershipWitness(
|
|
169
|
-
|
|
176
|
+
parsedBlockHash,
|
|
170
177
|
parsedNullifier,
|
|
171
178
|
);
|
|
172
179
|
if (!witness) {
|
|
173
|
-
throw new Error(
|
|
180
|
+
throw new Error(
|
|
181
|
+
`Nullifier witness not found for nullifier ${parsedNullifier} at block hash ${parsedBlockHash.toString()}.`,
|
|
182
|
+
);
|
|
174
183
|
}
|
|
175
184
|
return witness.toNoirRepresentation();
|
|
176
185
|
}
|
|
177
186
|
|
|
178
187
|
async utilityGetLowNullifierMembershipWitness(
|
|
179
|
-
[
|
|
188
|
+
[blockHash]: ACVMField[],
|
|
180
189
|
[nullifier]: ACVMField[], // nullifier, we try to find the low nullifier witness for (to prove non-inclusion)
|
|
181
190
|
): Promise<(ACVMField | ACVMField[])[]> {
|
|
182
|
-
const
|
|
191
|
+
const parsedBlockHash = L2BlockHash.fromString(blockHash);
|
|
183
192
|
const parsedNullifier = Fr.fromString(nullifier);
|
|
184
193
|
|
|
185
194
|
const witness = await this.handlerAsUtility().utilityGetLowNullifierMembershipWitness(
|
|
186
|
-
|
|
195
|
+
parsedBlockHash,
|
|
187
196
|
parsedNullifier,
|
|
188
197
|
);
|
|
189
198
|
if (!witness) {
|
|
190
199
|
throw new Error(
|
|
191
|
-
`Low nullifier witness not found for nullifier ${parsedNullifier} at block ${
|
|
200
|
+
`Low nullifier witness not found for nullifier ${parsedNullifier} at block hash ${parsedBlockHash.toString()}.`,
|
|
192
201
|
);
|
|
193
202
|
}
|
|
194
203
|
return witness.toNoirRepresentation();
|
|
195
204
|
}
|
|
196
205
|
|
|
197
206
|
async utilityGetPublicDataWitness(
|
|
198
|
-
[
|
|
207
|
+
[blockHash]: ACVMField[],
|
|
199
208
|
[leafSlot]: ACVMField[],
|
|
200
209
|
): Promise<(ACVMField | ACVMField[])[]> {
|
|
201
|
-
const
|
|
210
|
+
const parsedBlockHash = L2BlockHash.fromString(blockHash);
|
|
202
211
|
const parsedLeafSlot = Fr.fromString(leafSlot);
|
|
203
212
|
|
|
204
|
-
const witness = await this.handlerAsUtility().utilityGetPublicDataWitness(
|
|
205
|
-
BlockNumber(parsedBlockNumber),
|
|
206
|
-
parsedLeafSlot,
|
|
207
|
-
);
|
|
213
|
+
const witness = await this.handlerAsUtility().utilityGetPublicDataWitness(parsedBlockHash, parsedLeafSlot);
|
|
208
214
|
if (!witness) {
|
|
209
|
-
throw new Error(
|
|
215
|
+
throw new Error(
|
|
216
|
+
`Public data witness not found for slot ${parsedLeafSlot} at block hash ${parsedBlockHash.toString()}.`,
|
|
217
|
+
);
|
|
210
218
|
}
|
|
211
219
|
return witness.toNoirRepresentation();
|
|
212
220
|
}
|
|
@@ -239,7 +247,8 @@ export class Oracle {
|
|
|
239
247
|
}
|
|
240
248
|
|
|
241
249
|
async utilityGetNotes(
|
|
242
|
-
[
|
|
250
|
+
[ownerSome]: ACVMField[],
|
|
251
|
+
[ownerValue]: ACVMField[],
|
|
243
252
|
[storageSlot]: ACVMField[],
|
|
244
253
|
[numSelects]: ACVMField[],
|
|
245
254
|
selectByIndexes: ACVMField[],
|
|
@@ -255,10 +264,12 @@ export class Oracle {
|
|
|
255
264
|
[offset]: ACVMField[],
|
|
256
265
|
[status]: ACVMField[],
|
|
257
266
|
[maxNotes]: ACVMField[],
|
|
258
|
-
[
|
|
267
|
+
[packedHintedNoteLength]: ACVMField[],
|
|
259
268
|
): Promise<(ACVMField | ACVMField[])[]> {
|
|
269
|
+
// Parse Option<AztecAddress>: ownerSome is 0 for None, 1 for Some
|
|
270
|
+
const owner = Fr.fromString(ownerSome).toNumber() === 1 ? AztecAddress.fromString(ownerValue) : undefined;
|
|
260
271
|
const noteDatas = await this.handlerAsUtility().utilityGetNotes(
|
|
261
|
-
|
|
272
|
+
owner,
|
|
262
273
|
Fr.fromString(storageSlot),
|
|
263
274
|
+numSelects,
|
|
264
275
|
selectByIndexes.map(s => +s),
|
|
@@ -275,15 +286,25 @@ export class Oracle {
|
|
|
275
286
|
+status,
|
|
276
287
|
);
|
|
277
288
|
|
|
278
|
-
const
|
|
289
|
+
const returnDataAsArrayOfPackedHintedNotes = noteDatas.map(noteData =>
|
|
290
|
+
packAsHintedNote({
|
|
291
|
+
contractAddress: noteData.contractAddress,
|
|
292
|
+
owner: noteData.owner,
|
|
293
|
+
randomness: noteData.randomness,
|
|
294
|
+
storageSlot: noteData.storageSlot,
|
|
295
|
+
noteNonce: noteData.noteNonce,
|
|
296
|
+
isPending: noteData.isPending,
|
|
297
|
+
note: noteData.note,
|
|
298
|
+
}),
|
|
299
|
+
);
|
|
279
300
|
|
|
280
301
|
// Now we convert each sub-array to an array of ACVMField
|
|
281
|
-
const returnDataAsArrayOfACVMFieldArrays =
|
|
302
|
+
const returnDataAsArrayOfACVMFieldArrays = returnDataAsArrayOfPackedHintedNotes.map(subArray =>
|
|
282
303
|
subArray.map(toACVMField),
|
|
283
304
|
);
|
|
284
305
|
|
|
285
306
|
// At last we convert the array of arrays to a bounded vec of arrays
|
|
286
|
-
return arrayOfArraysToBoundedVecOfArrays(returnDataAsArrayOfACVMFieldArrays, +maxNotes, +
|
|
307
|
+
return arrayOfArraysToBoundedVecOfArrays(returnDataAsArrayOfACVMFieldArrays, +maxNotes, +packedHintedNoteLength);
|
|
287
308
|
}
|
|
288
309
|
|
|
289
310
|
privateNotifyCreatedNote(
|
|
@@ -325,6 +346,14 @@ export class Oracle {
|
|
|
325
346
|
return [];
|
|
326
347
|
}
|
|
327
348
|
|
|
349
|
+
async privateIsNullifierPending([innerNullifier]: ACVMField[], [contractAddress]: ACVMField[]): Promise<ACVMField[]> {
|
|
350
|
+
const isPending = await this.handlerAsPrivate().privateIsNullifierPending(
|
|
351
|
+
Fr.fromString(innerNullifier),
|
|
352
|
+
AztecAddress.fromString(contractAddress),
|
|
353
|
+
);
|
|
354
|
+
return [toACVMField(isPending)];
|
|
355
|
+
}
|
|
356
|
+
|
|
328
357
|
async utilityCheckNullifierExists([innerNullifier]: ACVMField[]): Promise<ACVMField[]> {
|
|
329
358
|
const exists = await this.handlerAsUtility().utilityCheckNullifierExists(Fr.fromString(innerNullifier));
|
|
330
359
|
return [toACVMField(exists)];
|
|
@@ -344,15 +373,15 @@ export class Oracle {
|
|
|
344
373
|
}
|
|
345
374
|
|
|
346
375
|
async utilityStorageRead(
|
|
376
|
+
[blockHash]: ACVMField[],
|
|
347
377
|
[contractAddress]: ACVMField[],
|
|
348
378
|
[startStorageSlot]: ACVMField[],
|
|
349
|
-
[blockNumber]: ACVMField[],
|
|
350
379
|
[numberOfElements]: ACVMField[],
|
|
351
380
|
): Promise<ACVMField[][]> {
|
|
352
381
|
const values = await this.handlerAsUtility().utilityStorageRead(
|
|
382
|
+
L2BlockHash.fromString(blockHash),
|
|
353
383
|
new AztecAddress(Fr.fromString(contractAddress)),
|
|
354
384
|
Fr.fromString(startStorageSlot),
|
|
355
|
-
BlockNumber(+blockNumber),
|
|
356
385
|
+numberOfElements,
|
|
357
386
|
);
|
|
358
387
|
return [values.map(toACVMField)];
|
|
@@ -462,12 +491,12 @@ export class Oracle {
|
|
|
462
491
|
return [];
|
|
463
492
|
}
|
|
464
493
|
|
|
465
|
-
async
|
|
494
|
+
async utilityValidateAndStoreEnqueuedNotesAndEvents(
|
|
466
495
|
[contractAddress]: ACVMField[],
|
|
467
496
|
[noteValidationRequestsArrayBaseSlot]: ACVMField[],
|
|
468
497
|
[eventValidationRequestsArrayBaseSlot]: ACVMField[],
|
|
469
498
|
): Promise<ACVMField[]> {
|
|
470
|
-
await this.handlerAsUtility().
|
|
499
|
+
await this.handlerAsUtility().utilityValidateAndStoreEnqueuedNotesAndEvents(
|
|
471
500
|
AztecAddress.fromString(contractAddress),
|
|
472
501
|
Fr.fromString(noteValidationRequestsArrayBaseSlot),
|
|
473
502
|
Fr.fromString(eventValidationRequestsArrayBaseSlot),
|
|
@@ -1,9 +1,7 @@
|
|
|
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
|
-
import { ProtocolContractAddress } from '@aztec/protocol-contracts';
|
|
7
5
|
import {
|
|
8
6
|
type ACVMWitness,
|
|
9
7
|
type CircuitSimulator,
|
|
@@ -19,15 +17,10 @@ import {
|
|
|
19
17
|
countArgumentsSize,
|
|
20
18
|
} from '@aztec/stdlib/abi';
|
|
21
19
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
22
|
-
import type { ContractInstance } from '@aztec/stdlib/contract';
|
|
23
|
-
import { DelayedPublicMutableValues, DelayedPublicMutableValuesWithHash } from '@aztec/stdlib/delayed-public-mutable';
|
|
24
|
-
import type { AztecNode } from '@aztec/stdlib/interfaces/client';
|
|
25
20
|
import { PrivateCircuitPublicInputs } from '@aztec/stdlib/kernel';
|
|
26
21
|
import type { CircuitWitnessGenerationStats } from '@aztec/stdlib/stats';
|
|
27
|
-
import {
|
|
28
|
-
import type { UInt64 } from '@aztec/stdlib/types';
|
|
22
|
+
import { PrivateCallExecutionResult } from '@aztec/stdlib/tx';
|
|
29
23
|
|
|
30
|
-
import type { ExecutionDataProvider } from '../execution_data_provider.js';
|
|
31
24
|
import { Oracle } from './oracle.js';
|
|
32
25
|
import type { PrivateExecutionOracle } from './private_execution_oracle.js';
|
|
33
26
|
|
|
@@ -85,7 +78,6 @@ export async function executePrivateFunction(
|
|
|
85
78
|
|
|
86
79
|
const rawReturnValues = await privateExecutionOracle.privateLoadFromExecutionCache(publicInputs.returnsHash);
|
|
87
80
|
|
|
88
|
-
const noteHashLeafIndexMap = privateExecutionOracle.getNoteHashLeafIndexMap();
|
|
89
81
|
const newNotes = privateExecutionOracle.getNewNotes();
|
|
90
82
|
const noteHashNullifierCounterMap = privateExecutionOracle.getNoteHashNullifierCounterMap();
|
|
91
83
|
const offchainEffects = privateExecutionOracle.getOffchainEffects();
|
|
@@ -108,7 +100,6 @@ export async function executePrivateFunction(
|
|
|
108
100
|
Buffer.from(artifact.verificationKey!, 'base64'),
|
|
109
101
|
partialWitness,
|
|
110
102
|
publicInputs,
|
|
111
|
-
noteHashLeafIndexMap,
|
|
112
103
|
newNotes,
|
|
113
104
|
noteHashNullifierCounterMap,
|
|
114
105
|
rawReturnValues,
|
|
@@ -148,61 +139,3 @@ export function extractPrivateCircuitPublicInputs(
|
|
|
148
139
|
}
|
|
149
140
|
return PrivateCircuitPublicInputs.fromFields(returnData);
|
|
150
141
|
}
|
|
151
|
-
|
|
152
|
-
/**
|
|
153
|
-
* Read the current class id of a contract from the execution data provider or AztecNode. If not found, class id
|
|
154
|
-
* from the instance is used.
|
|
155
|
-
* @param contractAddress - The address of the contract to read the class id for.
|
|
156
|
-
* @param instance - The instance of the contract.
|
|
157
|
-
* @param executionDataProvider - The execution data provider.
|
|
158
|
-
* @param blockNumber - The block number at which to load the DelayedPublicMutable storing the class id.
|
|
159
|
-
* @param timestamp - The timestamp at which to obtain the class id from the DelayedPublicMutable.
|
|
160
|
-
* @returns The current class id.
|
|
161
|
-
*/
|
|
162
|
-
export async function readCurrentClassId(
|
|
163
|
-
contractAddress: AztecAddress,
|
|
164
|
-
instance: ContractInstance,
|
|
165
|
-
executionDataProvider: ExecutionDataProvider | AztecNode,
|
|
166
|
-
blockNumber: BlockNumber,
|
|
167
|
-
timestamp: UInt64,
|
|
168
|
-
) {
|
|
169
|
-
const { delayedPublicMutableSlot } = await DelayedPublicMutableValuesWithHash.getContractUpdateSlots(contractAddress);
|
|
170
|
-
const delayedPublicMutableValues = await DelayedPublicMutableValues.readFromTree(delayedPublicMutableSlot, slot =>
|
|
171
|
-
executionDataProvider.getPublicStorageAt(blockNumber, ProtocolContractAddress.ContractInstanceRegistry, slot),
|
|
172
|
-
);
|
|
173
|
-
let currentClassId = delayedPublicMutableValues.svc.getCurrentAt(timestamp)[0];
|
|
174
|
-
if (currentClassId.isZero()) {
|
|
175
|
-
currentClassId = instance.originalContractClassId;
|
|
176
|
-
}
|
|
177
|
-
return currentClassId;
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
/**
|
|
181
|
-
* Verify that the current class id of a contract obtained from AztecNode is the same as the one in the execution data
|
|
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.
|
|
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.
|
|
187
|
-
*/
|
|
188
|
-
export async function verifyCurrentClassId(
|
|
189
|
-
contractAddress: AztecAddress,
|
|
190
|
-
executionDataProvider: ExecutionDataProvider,
|
|
191
|
-
header?: BlockHeader,
|
|
192
|
-
) {
|
|
193
|
-
header = header ?? (await executionDataProvider.getAnchorBlockHeader());
|
|
194
|
-
|
|
195
|
-
const instance = await executionDataProvider.getContractInstance(contractAddress);
|
|
196
|
-
const currentClassId = await readCurrentClassId(
|
|
197
|
-
contractAddress,
|
|
198
|
-
instance,
|
|
199
|
-
executionDataProvider,
|
|
200
|
-
header.globalVariables.blockNumber,
|
|
201
|
-
header.globalVariables.timestamp,
|
|
202
|
-
);
|
|
203
|
-
if (!instance.currentContractClassId.equals(currentClassId)) {
|
|
204
|
-
throw new Error(
|
|
205
|
-
`Contract ${contractAddress} is outdated, current class id is ${currentClassId}, local class id is ${instance.currentContractClassId}`,
|
|
206
|
-
);
|
|
207
|
-
}
|
|
208
|
-
}
|