@aztec/pxe 0.0.1-commit.24de95ac → 0.0.1-commit.3469e52
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.d.ts +1 -1
- 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} +36 -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 -12
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +7 -13
- package/dest/config/package_info.d.ts +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 +44 -16
- package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
- package/dest/contract_function_simulator/contract_function_simulator.js +80 -37
- package/dest/contract_function_simulator/execution_note_cache.d.ts +25 -14
- package/dest/contract_function_simulator/execution_note_cache.d.ts.map +1 -1
- package/dest/contract_function_simulator/execution_note_cache.js +59 -34
- package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts +2 -2
- package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts.map +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 +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 +3 -3
- 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 +6 -4
- 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 +12 -3
- 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/index.d.ts +1 -1
- package/dest/contract_function_simulator/oracle/interfaces.d.ts +22 -15
- 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 +14 -8
- package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/note_packing_utils.js +16 -11
- package/dest/contract_function_simulator/oracle/oracle.d.ts +10 -9
- package/dest/contract_function_simulator/oracle/oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/oracle.js +51 -33
- package/dest/contract_function_simulator/oracle/private_execution.d.ts +10 -15
- 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 +29 -33
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/private_execution_oracle.js +46 -48
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +65 -22
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +163 -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 +13 -4
- 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 +13 -4
- 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 +13 -20
- 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 +3 -3
- package/dest/oracle_version.js +2 -2
- package/dest/private_kernel/hints/compute_tx_include_by_timestamp.d.ts +1 -1
- 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} +19 -13
- package/dest/private_kernel/index.d.ts +1 -1
- 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 +15 -15
- 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 +54 -83
- package/dest/pxe.d.ts.map +1 -1
- package/dest/pxe.js +189 -240
- 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/anchor_block_store/anchor_block_store.d.ts +9 -0
- 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/anchor_block_store/index.d.ts +2 -0
- 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 -15
- 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 -15
- 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/metadata.d.ts +1 -1
- 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} +19 -17
- 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} +115 -106
- 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 +20 -19
- package/src/bin/check_oracle_version.ts +130 -20
- package/src/{synchronizer/synchronizer.ts → block_synchronizer/block_synchronizer.ts} +45 -30
- package/src/block_synchronizer/index.ts +1 -0
- package/src/config/index.ts +10 -25
- 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 +132 -39
- package/src/contract_function_simulator/execution_note_cache.ts +58 -28
- 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 +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 +2 -2
- package/src/contract_function_simulator/noir-structs/note_validation_request.ts +14 -2
- package/src/contract_function_simulator/noir-structs/utility_context.ts +6 -25
- package/src/contract_function_simulator/oracle/interfaces.ts +29 -13
- package/src/contract_function_simulator/oracle/message_load_oracle_inputs.ts +1 -1
- package/src/contract_function_simulator/oracle/note_packing_utils.ts +30 -14
- package/src/contract_function_simulator/oracle/oracle.ts +62 -30
- package/src/contract_function_simulator/oracle/private_execution.ts +22 -29
- package/src/contract_function_simulator/oracle/private_execution_oracle.ts +111 -59
- package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +238 -56
- 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 +10 -4
- package/src/entrypoints/client/lazy/index.ts +0 -1
- package/src/entrypoints/client/lazy/utils.ts +10 -5
- package/src/entrypoints/pxe_creation_options.ts +4 -1
- package/src/entrypoints/server/index.ts +2 -1
- package/src/entrypoints/server/utils.ts +13 -31
- 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} +38 -31
- package/src/private_kernel/private_kernel_execution_prover.ts +15 -21
- package/src/private_kernel/private_kernel_oracle.ts +118 -37
- package/src/pxe.ts +238 -312
- 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 -11
- 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 -20
- 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} +131 -109
- 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 -274
- 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 -122
- package/dest/contract_function_simulator/pxe_oracle_interface.d.ts.map +0 -1
- package/dest/contract_function_simulator/pxe_oracle_interface.js +0 -701
- 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_dao.d.ts +0 -100
- package/dest/storage/note_data_provider/note_dao.d.ts.map +0 -1
- package/dest/storage/note_data_provider/note_dao.js +0 -102
- 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 -43
- 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 -104
- package/dest/storage/sync_data_provider/index.d.ts +0 -2
- 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 +0 -10
- 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 -35
- 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 -343
- package/src/contract_function_simulator/proxied_node.ts +0 -33
- package/src/contract_function_simulator/pxe_oracle_interface.ts +0 -1019
- 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_dao.ts +0 -154
- package/src/storage/private_event_data_provider/private_event_data_provider.ts +0 -148
- 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,4 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
2
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
|
+
import { Point } from '@aztec/foundation/curves/grumpkin';
|
|
2
4
|
import {
|
|
3
5
|
type ACIRCallback,
|
|
4
6
|
type ACVMField,
|
|
@@ -10,11 +12,12 @@ import {
|
|
|
10
12
|
} from '@aztec/simulator/client';
|
|
11
13
|
import { FunctionSelector, NoteSelector } from '@aztec/stdlib/abi';
|
|
12
14
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
15
|
+
import { L2BlockHash } from '@aztec/stdlib/block';
|
|
13
16
|
import { ContractClassLog, ContractClassLogFields } from '@aztec/stdlib/logs';
|
|
14
17
|
import { MerkleTreeId } from '@aztec/stdlib/trees';
|
|
15
18
|
|
|
16
19
|
import type { IMiscOracle, IPrivateExecutionOracle, IUtilityExecutionOracle } from './interfaces.js';
|
|
17
|
-
import {
|
|
20
|
+
import { packAsHintedNote } from './note_packing_utils.js';
|
|
18
21
|
|
|
19
22
|
export class UnavailableOracleError extends Error {
|
|
20
23
|
constructor(oracleName: string) {
|
|
@@ -100,8 +103,7 @@ export class Oracle {
|
|
|
100
103
|
return Promise.resolve([toACVMField(val)]);
|
|
101
104
|
}
|
|
102
105
|
|
|
103
|
-
|
|
104
|
-
privateStoreInExecutionCache(_length: ACVMField[], values: ACVMField[], [hash]: ACVMField[]): Promise<ACVMField[]> {
|
|
106
|
+
privateStoreInExecutionCache(values: ACVMField[], [hash]: ACVMField[]): Promise<ACVMField[]> {
|
|
105
107
|
this.handlerAsPrivate().privateStoreInExecutionCache(values.map(Fr.fromString), Fr.fromString(hash));
|
|
106
108
|
return Promise.resolve([]);
|
|
107
109
|
}
|
|
@@ -111,9 +113,9 @@ export class Oracle {
|
|
|
111
113
|
return [values.map(toACVMField)];
|
|
112
114
|
}
|
|
113
115
|
|
|
114
|
-
|
|
115
|
-
const context =
|
|
116
|
-
return context.toNoirRepresentation();
|
|
116
|
+
utilityGetUtilityContext(): Promise<(ACVMField | ACVMField[])[]> {
|
|
117
|
+
const context = this.handlerAsUtility().utilityGetUtilityContext();
|
|
118
|
+
return Promise.resolve(context.toNoirRepresentation());
|
|
117
119
|
}
|
|
118
120
|
|
|
119
121
|
async utilityGetKeyValidationRequest([pkMHash]: ACVMField[]): Promise<ACVMField[]> {
|
|
@@ -137,73 +139,77 @@ export class Oracle {
|
|
|
137
139
|
}
|
|
138
140
|
|
|
139
141
|
async utilityGetMembershipWitness(
|
|
140
|
-
[
|
|
142
|
+
[blockHash]: ACVMField[],
|
|
141
143
|
[treeId]: ACVMField[],
|
|
142
144
|
[leafValue]: ACVMField[],
|
|
143
145
|
): Promise<(ACVMField | ACVMField[])[]> {
|
|
144
|
-
const
|
|
146
|
+
const parsedBlockHash = L2BlockHash.fromString(blockHash);
|
|
145
147
|
const parsedTreeId = Fr.fromString(treeId).toNumber();
|
|
146
148
|
const parsedLeafValue = Fr.fromString(leafValue);
|
|
147
149
|
|
|
148
150
|
const witness = await this.handlerAsUtility().utilityGetMembershipWitness(
|
|
149
|
-
|
|
151
|
+
parsedBlockHash,
|
|
150
152
|
parsedTreeId,
|
|
151
153
|
parsedLeafValue,
|
|
152
154
|
);
|
|
153
155
|
if (!witness) {
|
|
154
156
|
throw new Error(
|
|
155
|
-
`Leaf ${leafValue} not found in the tree ${MerkleTreeId[parsedTreeId]} at block ${
|
|
157
|
+
`Leaf ${leafValue} not found in the tree ${MerkleTreeId[parsedTreeId]} at block hash ${parsedBlockHash.toString()}.`,
|
|
156
158
|
);
|
|
157
159
|
}
|
|
158
160
|
return [toACVMField(witness[0]), witness.slice(1).map(toACVMField)];
|
|
159
161
|
}
|
|
160
162
|
|
|
161
163
|
async utilityGetNullifierMembershipWitness(
|
|
162
|
-
[
|
|
164
|
+
[blockHash]: ACVMField[],
|
|
163
165
|
[nullifier]: ACVMField[], // nullifier, we try to find the witness for (to prove inclusion)
|
|
164
166
|
): Promise<(ACVMField | ACVMField[])[]> {
|
|
165
|
-
const
|
|
167
|
+
const parsedBlockHash = L2BlockHash.fromString(blockHash);
|
|
166
168
|
const parsedNullifier = Fr.fromString(nullifier);
|
|
167
169
|
|
|
168
170
|
const witness = await this.handlerAsUtility().utilityGetNullifierMembershipWitness(
|
|
169
|
-
|
|
171
|
+
parsedBlockHash,
|
|
170
172
|
parsedNullifier,
|
|
171
173
|
);
|
|
172
174
|
if (!witness) {
|
|
173
|
-
throw new Error(
|
|
175
|
+
throw new Error(
|
|
176
|
+
`Nullifier witness not found for nullifier ${parsedNullifier} at block hash ${parsedBlockHash.toString()}.`,
|
|
177
|
+
);
|
|
174
178
|
}
|
|
175
179
|
return witness.toNoirRepresentation();
|
|
176
180
|
}
|
|
177
181
|
|
|
178
182
|
async utilityGetLowNullifierMembershipWitness(
|
|
179
|
-
[
|
|
183
|
+
[blockHash]: ACVMField[],
|
|
180
184
|
[nullifier]: ACVMField[], // nullifier, we try to find the low nullifier witness for (to prove non-inclusion)
|
|
181
185
|
): Promise<(ACVMField | ACVMField[])[]> {
|
|
182
|
-
const
|
|
186
|
+
const parsedBlockHash = L2BlockHash.fromString(blockHash);
|
|
183
187
|
const parsedNullifier = Fr.fromString(nullifier);
|
|
184
188
|
|
|
185
189
|
const witness = await this.handlerAsUtility().utilityGetLowNullifierMembershipWitness(
|
|
186
|
-
|
|
190
|
+
parsedBlockHash,
|
|
187
191
|
parsedNullifier,
|
|
188
192
|
);
|
|
189
193
|
if (!witness) {
|
|
190
194
|
throw new Error(
|
|
191
|
-
`Low nullifier witness not found for nullifier ${parsedNullifier} at block ${
|
|
195
|
+
`Low nullifier witness not found for nullifier ${parsedNullifier} at block hash ${parsedBlockHash.toString()}.`,
|
|
192
196
|
);
|
|
193
197
|
}
|
|
194
198
|
return witness.toNoirRepresentation();
|
|
195
199
|
}
|
|
196
200
|
|
|
197
201
|
async utilityGetPublicDataWitness(
|
|
198
|
-
[
|
|
202
|
+
[blockHash]: ACVMField[],
|
|
199
203
|
[leafSlot]: ACVMField[],
|
|
200
204
|
): Promise<(ACVMField | ACVMField[])[]> {
|
|
201
|
-
const
|
|
205
|
+
const parsedBlockHash = L2BlockHash.fromString(blockHash);
|
|
202
206
|
const parsedLeafSlot = Fr.fromString(leafSlot);
|
|
203
207
|
|
|
204
|
-
const witness = await this.handlerAsUtility().utilityGetPublicDataWitness(
|
|
208
|
+
const witness = await this.handlerAsUtility().utilityGetPublicDataWitness(parsedBlockHash, parsedLeafSlot);
|
|
205
209
|
if (!witness) {
|
|
206
|
-
throw new Error(
|
|
210
|
+
throw new Error(
|
|
211
|
+
`Public data witness not found for slot ${parsedLeafSlot} at block hash ${parsedBlockHash.toString()}.`,
|
|
212
|
+
);
|
|
207
213
|
}
|
|
208
214
|
return witness.toNoirRepresentation();
|
|
209
215
|
}
|
|
@@ -211,7 +217,7 @@ export class Oracle {
|
|
|
211
217
|
async utilityGetBlockHeader([blockNumber]: ACVMField[]): Promise<ACVMField[]> {
|
|
212
218
|
const parsedBlockNumber = Fr.fromString(blockNumber).toNumber();
|
|
213
219
|
|
|
214
|
-
const header = await this.handlerAsUtility().utilityGetBlockHeader(parsedBlockNumber);
|
|
220
|
+
const header = await this.handlerAsUtility().utilityGetBlockHeader(BlockNumber(parsedBlockNumber));
|
|
215
221
|
if (!header) {
|
|
216
222
|
throw new Error(`Block header not found for block ${parsedBlockNumber}.`);
|
|
217
223
|
}
|
|
@@ -236,6 +242,8 @@ export class Oracle {
|
|
|
236
242
|
}
|
|
237
243
|
|
|
238
244
|
async utilityGetNotes(
|
|
245
|
+
[ownerSome]: ACVMField[],
|
|
246
|
+
[ownerValue]: ACVMField[],
|
|
239
247
|
[storageSlot]: ACVMField[],
|
|
240
248
|
[numSelects]: ACVMField[],
|
|
241
249
|
selectByIndexes: ACVMField[],
|
|
@@ -251,9 +259,12 @@ export class Oracle {
|
|
|
251
259
|
[offset]: ACVMField[],
|
|
252
260
|
[status]: ACVMField[],
|
|
253
261
|
[maxNotes]: ACVMField[],
|
|
254
|
-
[
|
|
262
|
+
[packedHintedNoteLength]: ACVMField[],
|
|
255
263
|
): Promise<(ACVMField | ACVMField[])[]> {
|
|
264
|
+
// Parse Option<AztecAddress>: ownerSome is 0 for None, 1 for Some
|
|
265
|
+
const owner = Fr.fromString(ownerSome).toNumber() === 1 ? AztecAddress.fromString(ownerValue) : undefined;
|
|
256
266
|
const noteDatas = await this.handlerAsUtility().utilityGetNotes(
|
|
267
|
+
owner,
|
|
257
268
|
Fr.fromString(storageSlot),
|
|
258
269
|
+numSelects,
|
|
259
270
|
selectByIndexes.map(s => +s),
|
|
@@ -270,26 +281,40 @@ export class Oracle {
|
|
|
270
281
|
+status,
|
|
271
282
|
);
|
|
272
283
|
|
|
273
|
-
const
|
|
284
|
+
const returnDataAsArrayOfPackedHintedNotes = noteDatas.map(noteData =>
|
|
285
|
+
packAsHintedNote({
|
|
286
|
+
contractAddress: noteData.contractAddress,
|
|
287
|
+
owner: noteData.owner,
|
|
288
|
+
randomness: noteData.randomness,
|
|
289
|
+
storageSlot: noteData.storageSlot,
|
|
290
|
+
noteNonce: noteData.noteNonce,
|
|
291
|
+
isPending: noteData.isPending,
|
|
292
|
+
note: noteData.note,
|
|
293
|
+
}),
|
|
294
|
+
);
|
|
274
295
|
|
|
275
296
|
// Now we convert each sub-array to an array of ACVMField
|
|
276
|
-
const returnDataAsArrayOfACVMFieldArrays =
|
|
297
|
+
const returnDataAsArrayOfACVMFieldArrays = returnDataAsArrayOfPackedHintedNotes.map(subArray =>
|
|
277
298
|
subArray.map(toACVMField),
|
|
278
299
|
);
|
|
279
300
|
|
|
280
301
|
// At last we convert the array of arrays to a bounded vec of arrays
|
|
281
|
-
return arrayOfArraysToBoundedVecOfArrays(returnDataAsArrayOfACVMFieldArrays, +maxNotes, +
|
|
302
|
+
return arrayOfArraysToBoundedVecOfArrays(returnDataAsArrayOfACVMFieldArrays, +maxNotes, +packedHintedNoteLength);
|
|
282
303
|
}
|
|
283
304
|
|
|
284
305
|
privateNotifyCreatedNote(
|
|
306
|
+
[owner]: ACVMField[],
|
|
285
307
|
[storageSlot]: ACVMField[],
|
|
308
|
+
[randomness]: ACVMField[],
|
|
286
309
|
[noteTypeId]: ACVMField[],
|
|
287
310
|
note: ACVMField[],
|
|
288
311
|
[noteHash]: ACVMField[],
|
|
289
312
|
[counter]: ACVMField[],
|
|
290
313
|
): Promise<ACVMField[]> {
|
|
291
314
|
this.handlerAsPrivate().privateNotifyCreatedNote(
|
|
315
|
+
AztecAddress.fromString(owner),
|
|
292
316
|
Fr.fromString(storageSlot),
|
|
317
|
+
Fr.fromString(randomness),
|
|
293
318
|
NoteSelector.fromField(Fr.fromString(noteTypeId)),
|
|
294
319
|
note.map(Fr.fromString),
|
|
295
320
|
Fr.fromString(noteHash),
|
|
@@ -335,15 +360,15 @@ export class Oracle {
|
|
|
335
360
|
}
|
|
336
361
|
|
|
337
362
|
async utilityStorageRead(
|
|
363
|
+
[blockHash]: ACVMField[],
|
|
338
364
|
[contractAddress]: ACVMField[],
|
|
339
365
|
[startStorageSlot]: ACVMField[],
|
|
340
|
-
[blockNumber]: ACVMField[],
|
|
341
366
|
[numberOfElements]: ACVMField[],
|
|
342
367
|
): Promise<ACVMField[][]> {
|
|
343
368
|
const values = await this.handlerAsUtility().utilityStorageRead(
|
|
369
|
+
L2BlockHash.fromString(blockHash),
|
|
344
370
|
new AztecAddress(Fr.fromString(contractAddress)),
|
|
345
371
|
Fr.fromString(startStorageSlot),
|
|
346
|
-
+blockNumber,
|
|
347
372
|
+numberOfElements,
|
|
348
373
|
);
|
|
349
374
|
return [values.map(toACVMField)];
|
|
@@ -433,6 +458,13 @@ export class Oracle {
|
|
|
433
458
|
return Promise.resolve([]);
|
|
434
459
|
}
|
|
435
460
|
|
|
461
|
+
async privateIsSideEffectCounterRevertible([sideEffectCounter]: ACVMField[]): Promise<ACVMField[]> {
|
|
462
|
+
const isRevertible = await this.handlerAsPrivate().privateIsSideEffectCounterRevertible(
|
|
463
|
+
Fr.fromString(sideEffectCounter).toNumber(),
|
|
464
|
+
);
|
|
465
|
+
return Promise.resolve([toACVMField(isRevertible)]);
|
|
466
|
+
}
|
|
467
|
+
|
|
436
468
|
async privateGetNextAppTagAsSender([sender]: ACVMField[], [recipient]: ACVMField[]): Promise<ACVMField[]> {
|
|
437
469
|
const tag = await this.handlerAsPrivate().privateGetNextAppTagAsSender(
|
|
438
470
|
AztecAddress.fromString(sender),
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH, 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
5
|
import { ProtocolContractAddress } from '@aztec/protocol-contracts';
|
|
@@ -18,15 +18,15 @@ import {
|
|
|
18
18
|
countArgumentsSize,
|
|
19
19
|
} from '@aztec/stdlib/abi';
|
|
20
20
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
21
|
+
import { L2BlockHash } from '@aztec/stdlib/block';
|
|
21
22
|
import type { ContractInstance } from '@aztec/stdlib/contract';
|
|
22
23
|
import { DelayedPublicMutableValues, DelayedPublicMutableValuesWithHash } from '@aztec/stdlib/delayed-public-mutable';
|
|
23
24
|
import type { AztecNode } from '@aztec/stdlib/interfaces/client';
|
|
24
25
|
import { PrivateCircuitPublicInputs } from '@aztec/stdlib/kernel';
|
|
25
26
|
import type { CircuitWitnessGenerationStats } from '@aztec/stdlib/stats';
|
|
26
27
|
import { BlockHeader, PrivateCallExecutionResult } from '@aztec/stdlib/tx';
|
|
27
|
-
import type { UInt64 } from '@aztec/stdlib/types';
|
|
28
28
|
|
|
29
|
-
import
|
|
29
|
+
import { ContractStore } from '../../storage/contract_store/index.js';
|
|
30
30
|
import { Oracle } from './oracle.js';
|
|
31
31
|
import type { PrivateExecutionOracle } from './private_execution_oracle.js';
|
|
32
32
|
|
|
@@ -84,7 +84,6 @@ export async function executePrivateFunction(
|
|
|
84
84
|
|
|
85
85
|
const rawReturnValues = await privateExecutionOracle.privateLoadFromExecutionCache(publicInputs.returnsHash);
|
|
86
86
|
|
|
87
|
-
const noteHashLeafIndexMap = privateExecutionOracle.getNoteHashLeafIndexMap();
|
|
88
87
|
const newNotes = privateExecutionOracle.getNewNotes();
|
|
89
88
|
const noteHashNullifierCounterMap = privateExecutionOracle.getNoteHashNullifierCounterMap();
|
|
90
89
|
const offchainEffects = privateExecutionOracle.getOffchainEffects();
|
|
@@ -107,7 +106,6 @@ export async function executePrivateFunction(
|
|
|
107
106
|
Buffer.from(artifact.verificationKey!, 'base64'),
|
|
108
107
|
partialWitness,
|
|
109
108
|
publicInputs,
|
|
110
|
-
noteHashLeafIndexMap,
|
|
111
109
|
newNotes,
|
|
112
110
|
noteHashNullifierCounterMap,
|
|
113
111
|
rawReturnValues,
|
|
@@ -153,21 +151,22 @@ export function extractPrivateCircuitPublicInputs(
|
|
|
153
151
|
* from the instance is used.
|
|
154
152
|
* @param contractAddress - The address of the contract to read the class id for.
|
|
155
153
|
* @param instance - The instance of the contract.
|
|
156
|
-
* @param
|
|
157
|
-
* @param
|
|
158
|
-
* @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.
|
|
159
156
|
* @returns The current class id.
|
|
160
157
|
*/
|
|
161
158
|
export async function readCurrentClassId(
|
|
162
159
|
contractAddress: AztecAddress,
|
|
163
160
|
instance: ContractInstance,
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
timestamp: UInt64,
|
|
161
|
+
aztecNode: AztecNode,
|
|
162
|
+
header: BlockHeader,
|
|
167
163
|
) {
|
|
164
|
+
const blockHashFr = await header.hash();
|
|
165
|
+
const blockHash = L2BlockHash.fromField(blockHashFr);
|
|
166
|
+
const timestamp = header.globalVariables.timestamp;
|
|
168
167
|
const { delayedPublicMutableSlot } = await DelayedPublicMutableValuesWithHash.getContractUpdateSlots(contractAddress);
|
|
169
168
|
const delayedPublicMutableValues = await DelayedPublicMutableValues.readFromTree(delayedPublicMutableSlot, slot =>
|
|
170
|
-
|
|
169
|
+
aztecNode.getPublicStorageAt(blockHash, ProtocolContractAddress.ContractInstanceRegistry, slot),
|
|
171
170
|
);
|
|
172
171
|
let currentClassId = delayedPublicMutableValues.svc.getCurrentAt(timestamp)[0];
|
|
173
172
|
if (currentClassId.isZero()) {
|
|
@@ -177,28 +176,22 @@ export async function readCurrentClassId(
|
|
|
177
176
|
}
|
|
178
177
|
|
|
179
178
|
/**
|
|
180
|
-
* Verify that the current class id of a contract obtained from AztecNode is the same as the one in
|
|
181
|
-
* provider (i.e. PXE).
|
|
182
|
-
* @param
|
|
183
|
-
* @param executionDataProvider - The execution data provider.
|
|
184
|
-
* @param header - The header of the block at which to verify the current class id. If not provided, the anchor block
|
|
185
|
-
* 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.
|
|
186
182
|
*/
|
|
187
183
|
export async function verifyCurrentClassId(
|
|
188
184
|
contractAddress: AztecAddress,
|
|
189
|
-
|
|
190
|
-
|
|
185
|
+
aztecNode: AztecNode,
|
|
186
|
+
contractStore: ContractStore,
|
|
187
|
+
header: BlockHeader,
|
|
191
188
|
) {
|
|
192
|
-
|
|
189
|
+
const instance = await contractStore.getContractInstance(contractAddress);
|
|
190
|
+
if (!instance) {
|
|
191
|
+
throw new Error(`No contract instance found for address ${contractAddress.toString()}`);
|
|
192
|
+
}
|
|
193
193
|
|
|
194
|
-
const
|
|
195
|
-
const currentClassId = await readCurrentClassId(
|
|
196
|
-
contractAddress,
|
|
197
|
-
instance,
|
|
198
|
-
executionDataProvider,
|
|
199
|
-
header.globalVariables.blockNumber,
|
|
200
|
-
header.globalVariables.timestamp,
|
|
201
|
-
);
|
|
194
|
+
const currentClassId = await readCurrentClassId(contractAddress, instance, aztecNode, header);
|
|
202
195
|
if (!instance.currentContractClassId.equals(currentClassId)) {
|
|
203
196
|
throw new Error(
|
|
204
197
|
`Contract ${contractAddress} is outdated, current class id is ${currentClassId}, local class id is ${instance.currentContractClassId}`,
|