@aztec/pxe 0.0.1-fake-ceab37513c → 0.0.6-commit.a2d1860fe9
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/README.md +5 -5
- package/dest/access_scopes.d.ts +9 -0
- package/dest/access_scopes.d.ts.map +1 -0
- package/dest/access_scopes.js +6 -0
- package/dest/bin/check_oracle_version.d.ts +1 -1
- package/dest/bin/check_oracle_version.js +110 -10
- package/dest/block_synchronizer/block_synchronizer.d.ts +45 -0
- package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -0
- package/dest/block_synchronizer/block_synchronizer.js +153 -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 +11 -17
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +27 -16
- 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 +79 -27
- package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
- package/dest/contract_function_simulator/contract_function_simulator.js +287 -87
- package/dest/contract_function_simulator/execution_note_cache.d.ts +26 -15
- package/dest/contract_function_simulator/execution_note_cache.d.ts.map +1 -1
- package/dest/contract_function_simulator/execution_note_cache.js +65 -37
- package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts +16 -0
- package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts.map +1 -0
- package/dest/contract_function_simulator/execution_tagging_index_cache.js +26 -0
- 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 +5 -3
- package/dest/contract_function_simulator/index.d.ts.map +1 -1
- package/dest/contract_function_simulator/index.js +3 -2
- 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 +7 -4
- 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 +8 -4
- package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts +7 -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 +13 -4
- package/dest/contract_function_simulator/noir-structs/utility_context.d.ts +16 -0
- package/dest/contract_function_simulator/noir-structs/utility_context.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/utility_context.js +22 -0
- package/dest/contract_function_simulator/oracle/index.d.ts +2 -2
- package/dest/contract_function_simulator/oracle/index.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/index.js +1 -1
- package/dest/contract_function_simulator/oracle/interfaces.d.ts +107 -0
- package/dest/contract_function_simulator/oracle/interfaces.d.ts.map +1 -0
- package/dest/contract_function_simulator/oracle/interfaces.js +4 -0
- 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 +26 -22
- package/dest/contract_function_simulator/oracle/oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/oracle.js +156 -113
- package/dest/contract_function_simulator/oracle/private_execution.d.ts +2 -27
- package/dest/contract_function_simulator/oracle/private_execution.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/private_execution.js +3 -48
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +72 -52
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/private_execution_oracle.js +173 -68
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +116 -53
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +217 -94
- 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_logging.d.ts +22 -0
- package/dest/contract_logging.d.ts.map +1 -0
- package/dest/contract_logging.js +23 -0
- package/dest/contract_sync/contract_sync_service.d.ts +43 -0
- package/dest/contract_sync/contract_sync_service.d.ts.map +1 -0
- package/dest/contract_sync/contract_sync_service.js +97 -0
- package/dest/contract_sync/helpers.d.ts +29 -0
- package/dest/contract_sync/helpers.d.ts.map +1 -0
- package/dest/contract_sync/helpers.js +55 -0
- package/dest/debug/pxe_debug_utils.d.ts +45 -0
- package/dest/debug/pxe_debug_utils.d.ts.map +1 -0
- package/dest/debug/pxe_debug_utils.js +48 -0
- package/dest/entrypoints/client/bundle/index.d.ts +7 -3
- package/dest/entrypoints/client/bundle/index.d.ts.map +1 -1
- package/dest/entrypoints/client/bundle/index.js +5 -2
- package/dest/entrypoints/client/bundle/utils.d.ts +9 -9
- package/dest/entrypoints/client/bundle/utils.d.ts.map +1 -1
- package/dest/entrypoints/client/bundle/utils.js +40 -17
- package/dest/entrypoints/client/lazy/index.d.ts +7 -3
- package/dest/entrypoints/client/lazy/index.d.ts.map +1 -1
- package/dest/entrypoints/client/lazy/index.js +5 -2
- package/dest/entrypoints/client/lazy/utils.d.ts +9 -9
- package/dest/entrypoints/client/lazy/utils.d.ts.map +1 -1
- package/dest/entrypoints/client/lazy/utils.js +40 -17
- package/dest/entrypoints/pxe_creation_options.d.ts +7 -3
- package/dest/entrypoints/pxe_creation_options.d.ts.map +1 -1
- package/dest/entrypoints/server/index.d.ts +9 -3
- package/dest/entrypoints/server/index.d.ts.map +1 -1
- package/dest/entrypoints/server/index.js +7 -2
- package/dest/entrypoints/server/utils.d.ts +5 -24
- package/dest/entrypoints/server/utils.d.ts.map +1 -1
- package/dest/entrypoints/server/utils.js +42 -51
- package/dest/error_enriching.d.ts +11 -0
- package/dest/error_enriching.d.ts.map +1 -0
- package/dest/{pxe_service/error_enriching.js → error_enriching.js} +9 -6
- package/dest/events/event_service.d.ts +15 -0
- package/dest/events/event_service.d.ts.map +1 -0
- package/dest/events/event_service.js +44 -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 +75 -0
- package/dest/job_coordinator/job_coordinator.d.ts.map +1 -0
- package/dest/job_coordinator/job_coordinator.js +94 -0
- package/dest/logs/log_service.d.ts +29 -0
- package/dest/logs/log_service.d.ts.map +1 -0
- package/dest/logs/log_service.js +118 -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/notes_filter.d.ts +25 -0
- package/dest/notes_filter.d.ts.map +1 -0
- package/dest/notes_filter.js +4 -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/compute_tx_expiration_timestamp.d.ts +4 -0
- package/dest/private_kernel/hints/compute_tx_expiration_timestamp.d.ts.map +1 -0
- package/dest/private_kernel/hints/compute_tx_expiration_timestamp.js +41 -0
- package/dest/private_kernel/hints/index.d.ts +3 -3
- package/dest/private_kernel/hints/index.d.ts.map +1 -1
- package/dest/private_kernel/hints/index.js +2 -2
- 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} +22 -16
- package/dest/private_kernel/index.d.ts +1 -1
- package/dest/private_kernel/private_kernel_execution_prover.d.ts +11 -3
- package/dest/private_kernel/private_kernel_execution_prover.d.ts.map +1 -1
- package/dest/private_kernel/private_kernel_execution_prover.js +48 -43
- package/dest/private_kernel/private_kernel_oracle.d.ts +26 -25
- package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -1
- package/dest/private_kernel/private_kernel_oracle.js +94 -2
- package/dest/pxe.d.ts +250 -0
- package/dest/pxe.d.ts.map +1 -0
- package/dest/pxe.js +774 -0
- 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} +13 -15
- 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 +17 -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} +10 -13
- 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 +253 -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_store/contract_store.d.ts +93 -0
- package/dest/storage/contract_store/contract_store.d.ts.map +1 -0
- package/dest/storage/contract_store/contract_store.js +309 -0
- 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 -9
- package/dest/storage/index.d.ts.map +1 -1
- package/dest/storage/index.js +7 -8
- package/dest/storage/metadata.d.ts +2 -2
- package/dest/storage/metadata.js +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_store/note_store.d.ts +83 -0
- package/dest/storage/note_store/note_store.d.ts.map +1 -0
- package/dest/storage/note_store/note_store.js +343 -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 +273 -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 +111 -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 +36 -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 +348 -0
- package/dest/tagging/constants.d.ts +2 -0
- package/dest/tagging/constants.d.ts.map +1 -0
- package/dest/tagging/constants.js +10 -0
- 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 +60 -0
- package/dest/tagging/index.d.ts +17 -0
- package/dest/tagging/index.d.ts.map +1 -0
- package/dest/tagging/index.js +15 -0
- 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 +30 -23
- package/src/access_scopes.ts +9 -0
- package/src/bin/check_oracle_version.ts +135 -10
- package/src/block_synchronizer/block_synchronizer.ts +178 -0
- package/src/block_synchronizer/index.ts +1 -0
- package/src/config/index.ts +32 -32
- 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 +505 -140
- package/src/contract_function_simulator/execution_note_cache.ts +67 -32
- package/src/contract_function_simulator/execution_tagging_index_cache.ts +32 -0
- package/src/contract_function_simulator/hashed_values_cache.ts +1 -1
- package/src/contract_function_simulator/index.ts +4 -2
- package/src/contract_function_simulator/noir-structs/event_validation_request.ts +7 -3
- package/src/contract_function_simulator/noir-structs/log_retrieval_request.ts +6 -5
- package/src/contract_function_simulator/noir-structs/log_retrieval_response.ts +10 -5
- package/src/contract_function_simulator/noir-structs/note_validation_request.ts +15 -3
- package/src/contract_function_simulator/noir-structs/utility_context.ts +23 -0
- package/src/contract_function_simulator/oracle/index.ts +1 -1
- package/src/contract_function_simulator/oracle/interfaces.ts +185 -0
- 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 +197 -110
- package/src/contract_function_simulator/oracle/private_execution.ts +4 -78
- package/src/contract_function_simulator/oracle/private_execution_oracle.ts +248 -122
- package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +372 -138
- 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_logging.ts +39 -0
- package/src/contract_sync/contract_sync_service.ts +152 -0
- package/src/contract_sync/helpers.ts +98 -0
- package/src/debug/pxe_debug_utils.ts +93 -0
- package/src/entrypoints/client/bundle/index.ts +6 -2
- package/src/entrypoints/client/bundle/utils.ts +31 -32
- package/src/entrypoints/client/lazy/index.ts +6 -2
- package/src/entrypoints/client/lazy/utils.ts +31 -32
- package/src/entrypoints/pxe_creation_options.ts +6 -2
- package/src/entrypoints/server/index.ts +8 -2
- package/src/entrypoints/server/utils.ts +39 -91
- package/src/{pxe_service/error_enriching.ts → error_enriching.ts} +11 -15
- package/src/events/event_service.ts +71 -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 +150 -0
- package/src/logs/log_service.ts +208 -0
- package/src/notes/index.ts +1 -0
- package/src/notes/note_service.ts +196 -0
- package/src/notes_filter.ts +26 -0
- package/src/oracle_version.ts +4 -3
- package/src/private_kernel/hints/{compute_tx_include_by_timestamp.ts → compute_tx_expiration_timestamp.ts} +16 -16
- package/src/private_kernel/hints/index.ts +2 -2
- package/src/private_kernel/hints/{build_private_kernel_reset_private_inputs.ts → private_kernel_reset_private_inputs_builder.ts} +44 -37
- package/src/private_kernel/private_kernel_execution_prover.ts +64 -55
- package/src/private_kernel/private_kernel_oracle.ts +118 -37
- package/src/pxe.ts +1137 -0
- package/src/storage/{address_data_provider/address_data_provider.ts → address_store/address_store.ts} +15 -21
- 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} +10 -17
- 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_store/contract_store.ts +429 -0
- 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 -8
- package/src/storage/metadata.ts +1 -1
- package/src/storage/note_store/index.ts +2 -0
- package/src/storage/note_store/note_store.ts +418 -0
- package/src/storage/note_store/stored_note.ts +48 -0
- package/src/storage/private_event_store/private_event_store.ts +384 -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 +139 -0
- package/src/storage/tagging_store/sender_address_book_store.ts +48 -0
- package/src/storage/tagging_store/sender_tagging_store.ts +429 -0
- package/src/tagging/constants.ts +10 -0
- package/src/tagging/get_all_logs_by_tags.ts +92 -0
- package/src/tagging/index.ts +19 -0
- 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/bin/index.d.ts +0 -3
- package/dest/bin/index.d.ts.map +0 -1
- package/dest/bin/index.js +0 -48
- package/dest/contract_function_simulator/execution_data_provider.d.ts +0 -285
- 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/oracle/typed_oracle.d.ts +0 -87
- package/dest/contract_function_simulator/oracle/typed_oracle.d.ts.map +0 -1
- package/dest/contract_function_simulator/oracle/typed_oracle.js +0 -146
- 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 -158
- 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/contract_function_simulator/tagging_utils.d.ts +0 -17
- package/dest/contract_function_simulator/tagging_utils.d.ts.map +0 -1
- package/dest/contract_function_simulator/tagging_utils.js +0 -23
- 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/hints/compute_tx_include_by_timestamp.d.ts +0 -4
- package/dest/private_kernel/hints/compute_tx_include_by_timestamp.d.ts.map +0 -1
- package/dest/private_kernel/hints/compute_tx_include_by_timestamp.js +0 -41
- 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/pxe_service/error_enriching.d.ts +0 -11
- package/dest/pxe_service/error_enriching.d.ts.map +0 -1
- package/dest/pxe_service/index.d.ts +0 -3
- package/dest/pxe_service/index.d.ts.map +0 -1
- package/dest/pxe_service/index.js +0 -2
- package/dest/pxe_service/pxe_service.d.ts +0 -101
- package/dest/pxe_service/pxe_service.d.ts.map +0 -1
- package/dest/pxe_service/pxe_service.js +0 -791
- package/dest/storage/address_data_provider/address_data_provider.d.ts +0 -13
- 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 -27
- 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 -122
- 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 +0 -75
- package/dest/storage/contract_data_provider/contract_data_provider.d.ts.map +0 -1
- package/dest/storage/contract_data_provider/contract_data_provider.js +0 -208
- 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/data_provider.d.ts +0 -4
- package/dest/storage/data_provider.d.ts.map +0 -1
- package/dest/storage/data_provider.js +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 +0 -20
- 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 -260
- 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 -96
- 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 -12
- 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 -18
- 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 -82
- 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/synchronizer/synchronizer.js +0 -102
- package/dest/test/pxe_test_suite.d.ts +0 -3
- package/dest/test/pxe_test_suite.d.ts.map +0 -1
- package/dest/test/pxe_test_suite.js +0 -97
- package/src/bin/index.ts +0 -62
- package/src/contract_function_simulator/execution_data_provider.ts +0 -361
- package/src/contract_function_simulator/oracle/typed_oracle.ts +0 -289
- package/src/contract_function_simulator/proxied_node.ts +0 -33
- package/src/contract_function_simulator/pxe_oracle_interface.ts +0 -1020
- package/src/contract_function_simulator/tagging_utils.ts +0 -32
- package/src/private_kernel/private_kernel_oracle_impl.ts +0 -132
- package/src/pxe_service/index.ts +0 -2
- package/src/pxe_service/pxe_service.ts +0 -1139
- package/src/storage/address_data_provider/index.ts +0 -1
- package/src/storage/capsule_data_provider/capsule_data_provider.ts +0 -157
- package/src/storage/capsule_data_provider/index.ts +0 -1
- package/src/storage/contract_data_provider/contract_data_provider.ts +0 -300
- package/src/storage/contract_data_provider/index.ts +0 -1
- package/src/storage/data_provider.ts +0 -3
- package/src/storage/note_data_provider/index.ts +0 -2
- package/src/storage/note_data_provider/note_dao.ts +0 -154
- package/src/storage/note_data_provider/note_data_provider.ts +0 -350
- package/src/storage/private_event_data_provider/private_event_data_provider.ts +0 -134
- 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 -123
- package/src/synchronizer/index.ts +0 -1
- package/src/synchronizer/synchronizer.ts +0 -121
- package/src/test/pxe_test_suite.ts +0 -113
|
@@ -1,22 +1,50 @@
|
|
|
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 { arrayOfArraysToBoundedVecOfArrays, bufferToBoundedVec, fromUintArray, fromUintBoundedVec, toACVMField } from '@aztec/simulator/client';
|
|
3
5
|
import { FunctionSelector, NoteSelector } from '@aztec/stdlib/abi';
|
|
4
6
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
7
|
+
import { BlockHash } from '@aztec/stdlib/block';
|
|
5
8
|
import { ContractClassLog, ContractClassLogFields } from '@aztec/stdlib/logs';
|
|
6
|
-
import {
|
|
7
|
-
|
|
9
|
+
import { packAsHintedNote } from './note_packing_utils.js';
|
|
10
|
+
export class UnavailableOracleError extends Error {
|
|
11
|
+
constructor(oracleName){
|
|
12
|
+
super(`${oracleName} oracles not available with the current handler`);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
8
15
|
/**
|
|
9
16
|
* A data source that has all the apis required by Aztec.nr.
|
|
10
17
|
*/ export class Oracle {
|
|
11
|
-
|
|
12
|
-
constructor(
|
|
13
|
-
this.
|
|
18
|
+
handler;
|
|
19
|
+
constructor(handler){
|
|
20
|
+
this.handler = handler;
|
|
21
|
+
}
|
|
22
|
+
handlerAsMisc() {
|
|
23
|
+
if (!('isMisc' in this.handler)) {
|
|
24
|
+
throw new UnavailableOracleError('Misc');
|
|
25
|
+
}
|
|
26
|
+
return this.handler;
|
|
27
|
+
}
|
|
28
|
+
handlerAsUtility() {
|
|
29
|
+
if (!('isUtility' in this.handler)) {
|
|
30
|
+
throw new UnavailableOracleError('Utility');
|
|
31
|
+
}
|
|
32
|
+
return this.handler;
|
|
33
|
+
}
|
|
34
|
+
handlerAsPrivate() {
|
|
35
|
+
if (!('isPrivate' in this.handler)) {
|
|
36
|
+
throw new UnavailableOracleError('Private');
|
|
37
|
+
}
|
|
38
|
+
return this.handler;
|
|
14
39
|
}
|
|
15
40
|
toACIRCallback() {
|
|
16
41
|
const excludedProps = [
|
|
17
|
-
'
|
|
42
|
+
'handler',
|
|
18
43
|
'constructor',
|
|
19
|
-
'toACIRCallback'
|
|
44
|
+
'toACIRCallback',
|
|
45
|
+
'handlerAsMisc',
|
|
46
|
+
'handlerAsUtility',
|
|
47
|
+
'handlerAsPrivate'
|
|
20
48
|
];
|
|
21
49
|
// Get all the oracle function names
|
|
22
50
|
const oracleNames = Object.getOwnPropertyNames(Oracle.prototype).filter((name)=>!excludedProps.includes(name));
|
|
@@ -39,57 +67,35 @@ import { packAsRetrievedNote } from './note_packing_utils.js';
|
|
|
39
67
|
}, {});
|
|
40
68
|
}
|
|
41
69
|
utilityAssertCompatibleOracleVersion([version]) {
|
|
42
|
-
this.
|
|
70
|
+
this.handlerAsMisc().utilityAssertCompatibleOracleVersion(Fr.fromString(version).toNumber());
|
|
43
71
|
return Promise.resolve([]);
|
|
44
72
|
}
|
|
45
73
|
utilityGetRandomField() {
|
|
46
|
-
const val = this.
|
|
74
|
+
const val = this.handlerAsMisc().utilityGetRandomField();
|
|
47
75
|
return Promise.resolve([
|
|
48
76
|
toACVMField(val)
|
|
49
77
|
]);
|
|
50
78
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
this.typedOracle.privateStoreInExecutionCache(values.map(Fr.fromString), Fr.fromString(hash));
|
|
79
|
+
privateStoreInExecutionCache(values, [hash]) {
|
|
80
|
+
this.handlerAsPrivate().privateStoreInExecutionCache(values.map(Fr.fromString), Fr.fromString(hash));
|
|
54
81
|
return Promise.resolve([]);
|
|
55
82
|
}
|
|
56
83
|
async privateLoadFromExecutionCache([returnsHash]) {
|
|
57
|
-
const values = await this.
|
|
84
|
+
const values = await this.handlerAsPrivate().privateLoadFromExecutionCache(Fr.fromString(returnsHash));
|
|
58
85
|
return [
|
|
59
86
|
values.map(toACVMField)
|
|
60
87
|
];
|
|
61
88
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
];
|
|
66
|
-
}
|
|
67
|
-
async utilityGetTimestamp() {
|
|
68
|
-
return [
|
|
69
|
-
toACVMField(await this.typedOracle.utilityGetTimestamp())
|
|
70
|
-
];
|
|
71
|
-
}
|
|
72
|
-
async utilityGetContractAddress() {
|
|
73
|
-
return [
|
|
74
|
-
toACVMField(await this.typedOracle.utilityGetContractAddress())
|
|
75
|
-
];
|
|
76
|
-
}
|
|
77
|
-
async utilityGetVersion() {
|
|
78
|
-
return [
|
|
79
|
-
toACVMField(await this.typedOracle.utilityGetVersion())
|
|
80
|
-
];
|
|
81
|
-
}
|
|
82
|
-
async utilityGetChainId() {
|
|
83
|
-
return [
|
|
84
|
-
toACVMField(await this.typedOracle.utilityGetChainId())
|
|
85
|
-
];
|
|
89
|
+
utilityGetUtilityContext() {
|
|
90
|
+
const context = this.handlerAsUtility().utilityGetUtilityContext();
|
|
91
|
+
return Promise.resolve(context.toNoirRepresentation());
|
|
86
92
|
}
|
|
87
93
|
async utilityGetKeyValidationRequest([pkMHash]) {
|
|
88
|
-
const keyValidationRequest = await this.
|
|
94
|
+
const keyValidationRequest = await this.handlerAsUtility().utilityGetKeyValidationRequest(Fr.fromString(pkMHash));
|
|
89
95
|
return keyValidationRequest.toFields().map(toACVMField);
|
|
90
96
|
}
|
|
91
97
|
async utilityGetContractInstance([address]) {
|
|
92
|
-
const instance = await this.
|
|
98
|
+
const instance = await this.handlerAsUtility().utilityGetContractInstance(AztecAddress.fromField(Fr.fromString(address)));
|
|
93
99
|
return [
|
|
94
100
|
instance.salt,
|
|
95
101
|
instance.deployer,
|
|
@@ -98,49 +104,54 @@ import { packAsRetrievedNote } from './note_packing_utils.js';
|
|
|
98
104
|
...instance.publicKeys.toFields()
|
|
99
105
|
].map(toACVMField);
|
|
100
106
|
}
|
|
101
|
-
async
|
|
102
|
-
const
|
|
103
|
-
const
|
|
104
|
-
const
|
|
105
|
-
const witness = await this.typedOracle.utilityGetMembershipWitness(parsedBlockNumber, parsedTreeId, parsedLeafValue);
|
|
107
|
+
async utilityGetNoteHashMembershipWitness([anchorBlockHash], [noteHash]) {
|
|
108
|
+
const parsedAnchorBlockHash = BlockHash.fromString(anchorBlockHash);
|
|
109
|
+
const parsedNoteHash = Fr.fromString(noteHash);
|
|
110
|
+
const witness = await this.handlerAsUtility().utilityGetNoteHashMembershipWitness(parsedAnchorBlockHash, parsedNoteHash);
|
|
106
111
|
if (!witness) {
|
|
107
|
-
throw new Error(`
|
|
112
|
+
throw new Error(`Note hash ${noteHash} not found in the note hash tree at anchor block hash ${parsedAnchorBlockHash.toString()}.`);
|
|
108
113
|
}
|
|
109
|
-
return
|
|
110
|
-
toACVMField(witness[0]),
|
|
111
|
-
witness.slice(1).map(toACVMField)
|
|
112
|
-
];
|
|
114
|
+
return witness.toNoirRepresentation();
|
|
113
115
|
}
|
|
114
|
-
async
|
|
115
|
-
const
|
|
116
|
+
async utilityGetBlockHashMembershipWitness([anchorBlockHash], [blockHash]) {
|
|
117
|
+
const parsedAnchorBlockHash = BlockHash.fromString(anchorBlockHash);
|
|
118
|
+
const parsedBlockHash = BlockHash.fromString(blockHash);
|
|
119
|
+
const witness = await this.handlerAsUtility().utilityGetBlockHashMembershipWitness(parsedAnchorBlockHash, parsedBlockHash);
|
|
120
|
+
if (!witness) {
|
|
121
|
+
throw new Error(`Block hash ${parsedBlockHash.toString()} not found in the archive tree at anchor block ${parsedAnchorBlockHash.toString()}.`);
|
|
122
|
+
}
|
|
123
|
+
return witness.toNoirRepresentation();
|
|
124
|
+
}
|
|
125
|
+
async utilityGetNullifierMembershipWitness([blockHash], [nullifier]) {
|
|
126
|
+
const parsedBlockHash = BlockHash.fromString(blockHash);
|
|
116
127
|
const parsedNullifier = Fr.fromString(nullifier);
|
|
117
|
-
const witness = await this.
|
|
128
|
+
const witness = await this.handlerAsUtility().utilityGetNullifierMembershipWitness(parsedBlockHash, parsedNullifier);
|
|
118
129
|
if (!witness) {
|
|
119
|
-
throw new Error(`Nullifier witness not found for nullifier ${parsedNullifier} at block ${
|
|
130
|
+
throw new Error(`Nullifier witness not found for nullifier ${parsedNullifier} at block hash ${parsedBlockHash.toString()}.`);
|
|
120
131
|
}
|
|
121
132
|
return witness.toNoirRepresentation();
|
|
122
133
|
}
|
|
123
|
-
async utilityGetLowNullifierMembershipWitness([
|
|
124
|
-
const
|
|
134
|
+
async utilityGetLowNullifierMembershipWitness([blockHash], [nullifier]) {
|
|
135
|
+
const parsedBlockHash = BlockHash.fromString(blockHash);
|
|
125
136
|
const parsedNullifier = Fr.fromString(nullifier);
|
|
126
|
-
const witness = await this.
|
|
137
|
+
const witness = await this.handlerAsUtility().utilityGetLowNullifierMembershipWitness(parsedBlockHash, parsedNullifier);
|
|
127
138
|
if (!witness) {
|
|
128
|
-
throw new Error(`Low nullifier witness not found for nullifier ${parsedNullifier} at block ${
|
|
139
|
+
throw new Error(`Low nullifier witness not found for nullifier ${parsedNullifier} at block hash ${parsedBlockHash.toString()}.`);
|
|
129
140
|
}
|
|
130
141
|
return witness.toNoirRepresentation();
|
|
131
142
|
}
|
|
132
|
-
async utilityGetPublicDataWitness([
|
|
133
|
-
const
|
|
143
|
+
async utilityGetPublicDataWitness([blockHash], [leafSlot]) {
|
|
144
|
+
const parsedBlockHash = BlockHash.fromString(blockHash);
|
|
134
145
|
const parsedLeafSlot = Fr.fromString(leafSlot);
|
|
135
|
-
const witness = await this.
|
|
146
|
+
const witness = await this.handlerAsUtility().utilityGetPublicDataWitness(parsedBlockHash, parsedLeafSlot);
|
|
136
147
|
if (!witness) {
|
|
137
|
-
throw new Error(`Public data witness not found for slot ${parsedLeafSlot} at block ${
|
|
148
|
+
throw new Error(`Public data witness not found for slot ${parsedLeafSlot} at block hash ${parsedBlockHash.toString()}.`);
|
|
138
149
|
}
|
|
139
150
|
return witness.toNoirRepresentation();
|
|
140
151
|
}
|
|
141
152
|
async utilityGetBlockHeader([blockNumber]) {
|
|
142
153
|
const parsedBlockNumber = Fr.fromString(blockNumber).toNumber();
|
|
143
|
-
const header = await this.
|
|
154
|
+
const header = await this.handlerAsUtility().utilityGetBlockHeader(BlockNumber(parsedBlockNumber));
|
|
144
155
|
if (!header) {
|
|
145
156
|
throw new Error(`Block header not found for block ${parsedBlockNumber}.`);
|
|
146
157
|
}
|
|
@@ -148,7 +159,7 @@ import { packAsRetrievedNote } from './note_packing_utils.js';
|
|
|
148
159
|
}
|
|
149
160
|
async utilityGetAuthWitness([messageHash]) {
|
|
150
161
|
const messageHashField = Fr.fromString(messageHash);
|
|
151
|
-
const witness = await this.
|
|
162
|
+
const witness = await this.handlerAsUtility().utilityGetAuthWitness(messageHashField);
|
|
152
163
|
if (!witness) {
|
|
153
164
|
throw new Error(`Unknown auth witness for message hash ${messageHashField}`);
|
|
154
165
|
}
|
|
@@ -156,49 +167,76 @@ import { packAsRetrievedNote } from './note_packing_utils.js';
|
|
|
156
167
|
witness.map(toACVMField)
|
|
157
168
|
];
|
|
158
169
|
}
|
|
159
|
-
|
|
160
|
-
async utilityGetPublicKeysAndPartialAddress([address]) {
|
|
170
|
+
async utilityTryGetPublicKeysAndPartialAddress([address]) {
|
|
161
171
|
const parsedAddress = AztecAddress.fromField(Fr.fromString(address));
|
|
162
|
-
const
|
|
163
|
-
return
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
172
|
+
const result = await this.handlerAsUtility().utilityTryGetPublicKeysAndPartialAddress(parsedAddress);
|
|
173
|
+
// We are going to return a Noir Option struct to represent the possibility of null values. Options are a struct
|
|
174
|
+
// with two fields: `some` (a boolean) and `value` (a field array in this case).
|
|
175
|
+
if (result === undefined) {
|
|
176
|
+
// No data was found so we set `some` to 0 and pad `value` with zeros get the correct return size.
|
|
177
|
+
return [
|
|
178
|
+
toACVMField(0),
|
|
179
|
+
Array(13).fill(toACVMField(0))
|
|
180
|
+
];
|
|
181
|
+
} else {
|
|
182
|
+
// Data was found so we set `some` to 1 and return it along with `value`.
|
|
183
|
+
return [
|
|
184
|
+
toACVMField(1),
|
|
185
|
+
[
|
|
186
|
+
...result.publicKeys.toFields(),
|
|
187
|
+
result.partialAddress
|
|
188
|
+
].map(toACVMField)
|
|
189
|
+
];
|
|
190
|
+
}
|
|
169
191
|
}
|
|
170
|
-
async utilityGetNotes([storageSlot], [numSelects], selectByIndexes, selectByOffsets, selectByLengths, selectValues, selectComparators, sortByIndexes, sortByOffsets, sortByLengths, sortOrder, [limit], [offset], [status], [maxNotes], [
|
|
171
|
-
|
|
172
|
-
const
|
|
192
|
+
async utilityGetNotes([ownerSome], [ownerValue], [storageSlot], [numSelects], selectByIndexes, selectByOffsets, selectByLengths, selectValues, selectComparators, sortByIndexes, sortByOffsets, sortByLengths, sortOrder, [limit], [offset], [status], [maxNotes], [packedHintedNoteLength]) {
|
|
193
|
+
// Parse Option<AztecAddress>: ownerSome is 0 for None, 1 for Some
|
|
194
|
+
const owner = Fr.fromString(ownerSome).toNumber() === 1 ? AztecAddress.fromString(ownerValue) : undefined;
|
|
195
|
+
const noteDatas = await this.handlerAsUtility().utilityGetNotes(owner, Fr.fromString(storageSlot), +numSelects, selectByIndexes.map((s)=>+s), selectByOffsets.map((s)=>+s), selectByLengths.map((s)=>+s), selectValues.map(Fr.fromString), selectComparators.map((s)=>+s), sortByIndexes.map((s)=>+s), sortByOffsets.map((s)=>+s), sortByLengths.map((s)=>+s), sortOrder.map((s)=>+s), +limit, +offset, +status);
|
|
196
|
+
const returnDataAsArrayOfPackedHintedNotes = noteDatas.map((noteData)=>packAsHintedNote({
|
|
197
|
+
contractAddress: noteData.contractAddress,
|
|
198
|
+
owner: noteData.owner,
|
|
199
|
+
randomness: noteData.randomness,
|
|
200
|
+
storageSlot: noteData.storageSlot,
|
|
201
|
+
noteNonce: noteData.noteNonce,
|
|
202
|
+
isPending: noteData.isPending,
|
|
203
|
+
note: noteData.note
|
|
204
|
+
}));
|
|
173
205
|
// Now we convert each sub-array to an array of ACVMField
|
|
174
|
-
const returnDataAsArrayOfACVMFieldArrays =
|
|
206
|
+
const returnDataAsArrayOfACVMFieldArrays = returnDataAsArrayOfPackedHintedNotes.map((subArray)=>subArray.map(toACVMField));
|
|
175
207
|
// At last we convert the array of arrays to a bounded vec of arrays
|
|
176
|
-
return arrayOfArraysToBoundedVecOfArrays(returnDataAsArrayOfACVMFieldArrays, +maxNotes, +
|
|
208
|
+
return arrayOfArraysToBoundedVecOfArrays(returnDataAsArrayOfACVMFieldArrays, +maxNotes, +packedHintedNoteLength);
|
|
177
209
|
}
|
|
178
|
-
privateNotifyCreatedNote([storageSlot], [noteTypeId], note, [noteHash], [counter]) {
|
|
179
|
-
this.
|
|
210
|
+
privateNotifyCreatedNote([owner], [storageSlot], [randomness], [noteTypeId], note, [noteHash], [counter]) {
|
|
211
|
+
this.handlerAsPrivate().privateNotifyCreatedNote(AztecAddress.fromString(owner), Fr.fromString(storageSlot), Fr.fromString(randomness), NoteSelector.fromField(Fr.fromString(noteTypeId)), note.map(Fr.fromString), Fr.fromString(noteHash), +counter);
|
|
180
212
|
return Promise.resolve([]);
|
|
181
213
|
}
|
|
182
214
|
async privateNotifyNullifiedNote([innerNullifier], [noteHash], [counter]) {
|
|
183
|
-
await this.
|
|
215
|
+
await this.handlerAsPrivate().privateNotifyNullifiedNote(Fr.fromString(innerNullifier), Fr.fromString(noteHash), +counter);
|
|
184
216
|
return [];
|
|
185
217
|
}
|
|
186
218
|
async privateNotifyCreatedNullifier([innerNullifier]) {
|
|
187
|
-
await this.
|
|
219
|
+
await this.handlerAsPrivate().privateNotifyCreatedNullifier(Fr.fromString(innerNullifier));
|
|
188
220
|
return [];
|
|
189
221
|
}
|
|
222
|
+
async privateIsNullifierPending([innerNullifier], [contractAddress]) {
|
|
223
|
+
const isPending = await this.handlerAsPrivate().privateIsNullifierPending(Fr.fromString(innerNullifier), AztecAddress.fromString(contractAddress));
|
|
224
|
+
return [
|
|
225
|
+
toACVMField(isPending)
|
|
226
|
+
];
|
|
227
|
+
}
|
|
190
228
|
async utilityCheckNullifierExists([innerNullifier]) {
|
|
191
|
-
const exists = await this.
|
|
229
|
+
const exists = await this.handlerAsUtility().utilityCheckNullifierExists(Fr.fromString(innerNullifier));
|
|
192
230
|
return [
|
|
193
231
|
toACVMField(exists)
|
|
194
232
|
];
|
|
195
233
|
}
|
|
196
234
|
async utilityGetL1ToL2MembershipWitness([contractAddress], [messageHash], [secret]) {
|
|
197
|
-
const message = await this.
|
|
235
|
+
const message = await this.handlerAsUtility().utilityGetL1ToL2MembershipWitness(AztecAddress.fromString(contractAddress), Fr.fromString(messageHash), Fr.fromString(secret));
|
|
198
236
|
return message.toNoirRepresentation();
|
|
199
237
|
}
|
|
200
|
-
async utilityStorageRead([
|
|
201
|
-
const values = await this.
|
|
238
|
+
async utilityStorageRead([blockHash], [contractAddress], [startStorageSlot], [numberOfElements]) {
|
|
239
|
+
const values = await this.handlerAsUtility().utilityStorageRead(BlockHash.fromString(blockHash), new AztecAddress(Fr.fromString(contractAddress)), Fr.fromString(startStorageSlot), +numberOfElements);
|
|
202
240
|
return [
|
|
203
241
|
values.map(toACVMField)
|
|
204
242
|
];
|
|
@@ -206,19 +244,20 @@ import { packAsRetrievedNote } from './note_packing_utils.js';
|
|
|
206
244
|
privateNotifyCreatedContractClassLog([contractAddress], message, [length], [counter]) {
|
|
207
245
|
const logFields = new ContractClassLogFields(message.map(Fr.fromString));
|
|
208
246
|
const log = new ContractClassLog(new AztecAddress(Fr.fromString(contractAddress)), logFields, +length);
|
|
209
|
-
this.
|
|
247
|
+
this.handlerAsPrivate().privateNotifyCreatedContractClassLog(log, +counter);
|
|
210
248
|
return Promise.resolve([]);
|
|
211
249
|
}
|
|
212
|
-
|
|
250
|
+
async utilityLog(level, message, _ignoredFieldsSize, fields) {
|
|
251
|
+
const levelFr = Fr.fromString(level[0]);
|
|
213
252
|
const messageStr = message.map((acvmField)=>String.fromCharCode(Fr.fromString(acvmField).toNumber())).join('');
|
|
214
253
|
const fieldsFr = fields.map(Fr.fromString);
|
|
215
|
-
this.
|
|
216
|
-
return
|
|
254
|
+
await this.handlerAsMisc().utilityLog(levelFr.toNumber(), messageStr, fieldsFr);
|
|
255
|
+
return [];
|
|
217
256
|
}
|
|
218
257
|
// This function's name is directly hardcoded in `circuit_recorder.ts`. Don't forget to update it there if you
|
|
219
258
|
// change the name here.
|
|
220
259
|
async privateCallPrivateFunction([contractAddress], [functionSelector], [argsHash], [sideEffectCounter], [isStaticCall]) {
|
|
221
|
-
const { endSideEffectCounter, returnsHash } = await this.
|
|
260
|
+
const { endSideEffectCounter, returnsHash } = await this.handlerAsPrivate().privateCallPrivateFunction(AztecAddress.fromField(Fr.fromString(contractAddress)), FunctionSelector.fromField(Fr.fromString(functionSelector)), Fr.fromString(argsHash), Fr.fromString(sideEffectCounter).toNumber(), Fr.fromString(isStaticCall).toBool());
|
|
222
261
|
return [
|
|
223
262
|
[
|
|
224
263
|
endSideEffectCounter,
|
|
@@ -227,43 +266,47 @@ import { packAsRetrievedNote } from './note_packing_utils.js';
|
|
|
227
266
|
];
|
|
228
267
|
}
|
|
229
268
|
async privateNotifyEnqueuedPublicFunctionCall([contractAddress], [calldataHash], [sideEffectCounter], [isStaticCall]) {
|
|
230
|
-
await this.
|
|
269
|
+
await this.handlerAsPrivate().privateNotifyEnqueuedPublicFunctionCall(AztecAddress.fromString(contractAddress), Fr.fromString(calldataHash), Fr.fromString(sideEffectCounter).toNumber(), Fr.fromString(isStaticCall).toBool());
|
|
231
270
|
return [];
|
|
232
271
|
}
|
|
233
272
|
async privateNotifySetPublicTeardownFunctionCall([contractAddress], [calldataHash], [sideEffectCounter], [isStaticCall]) {
|
|
234
|
-
await this.
|
|
273
|
+
await this.handlerAsPrivate().privateNotifySetPublicTeardownFunctionCall(AztecAddress.fromString(contractAddress), Fr.fromString(calldataHash), Fr.fromString(sideEffectCounter).toNumber(), Fr.fromString(isStaticCall).toBool());
|
|
235
274
|
return [];
|
|
236
275
|
}
|
|
237
276
|
async privateNotifySetMinRevertibleSideEffectCounter([minRevertibleSideEffectCounter]) {
|
|
238
|
-
await this.
|
|
277
|
+
await this.handlerAsPrivate().privateNotifySetMinRevertibleSideEffectCounter(Fr.fromString(minRevertibleSideEffectCounter).toNumber());
|
|
239
278
|
return Promise.resolve([]);
|
|
240
279
|
}
|
|
241
|
-
async
|
|
242
|
-
const
|
|
243
|
-
return
|
|
280
|
+
async privateIsSideEffectCounterRevertible([sideEffectCounter]) {
|
|
281
|
+
const isRevertible = await this.handlerAsPrivate().privateIsSideEffectCounterRevertible(Fr.fromString(sideEffectCounter).toNumber());
|
|
282
|
+
return Promise.resolve([
|
|
283
|
+
toACVMField(isRevertible)
|
|
284
|
+
]);
|
|
244
285
|
}
|
|
245
|
-
async
|
|
246
|
-
await this.
|
|
247
|
-
return [
|
|
286
|
+
async privateGetNextAppTagAsSender([sender], [recipient]) {
|
|
287
|
+
const tag = await this.handlerAsPrivate().privateGetNextAppTagAsSender(AztecAddress.fromString(sender), AztecAddress.fromString(recipient));
|
|
288
|
+
return [
|
|
289
|
+
toACVMField(tag.value)
|
|
290
|
+
];
|
|
248
291
|
}
|
|
249
292
|
async utilityFetchTaggedLogs([pendingTaggedLogArrayBaseSlot]) {
|
|
250
|
-
await this.
|
|
293
|
+
await this.handlerAsUtility().utilityFetchTaggedLogs(Fr.fromString(pendingTaggedLogArrayBaseSlot));
|
|
251
294
|
return [];
|
|
252
295
|
}
|
|
253
|
-
async
|
|
254
|
-
await this.
|
|
296
|
+
async utilityValidateAndStoreEnqueuedNotesAndEvents([contractAddress], [noteValidationRequestsArrayBaseSlot], [eventValidationRequestsArrayBaseSlot]) {
|
|
297
|
+
await this.handlerAsUtility().utilityValidateAndStoreEnqueuedNotesAndEvents(AztecAddress.fromString(contractAddress), Fr.fromString(noteValidationRequestsArrayBaseSlot), Fr.fromString(eventValidationRequestsArrayBaseSlot));
|
|
255
298
|
return [];
|
|
256
299
|
}
|
|
257
300
|
async utilityBulkRetrieveLogs([contractAddress], [logRetrievalRequestsArrayBaseSlot], [logRetrievalResponsesArrayBaseSlot]) {
|
|
258
|
-
await this.
|
|
301
|
+
await this.handlerAsUtility().utilityBulkRetrieveLogs(AztecAddress.fromString(contractAddress), Fr.fromString(logRetrievalRequestsArrayBaseSlot), Fr.fromString(logRetrievalResponsesArrayBaseSlot));
|
|
259
302
|
return [];
|
|
260
303
|
}
|
|
261
304
|
async utilityStoreCapsule([contractAddress], [slot], capsule) {
|
|
262
|
-
await this.
|
|
305
|
+
await this.handlerAsUtility().utilityStoreCapsule(AztecAddress.fromField(Fr.fromString(contractAddress)), Fr.fromString(slot), capsule.map(Fr.fromString));
|
|
263
306
|
return [];
|
|
264
307
|
}
|
|
265
308
|
async utilityLoadCapsule([contractAddress], [slot], [tSize]) {
|
|
266
|
-
const values = await this.
|
|
309
|
+
const values = await this.handlerAsUtility().utilityLoadCapsule(AztecAddress.fromField(Fr.fromString(contractAddress)), Fr.fromString(slot));
|
|
267
310
|
// We are going to return a Noir Option struct to represent the possibility of null values. Options are a struct
|
|
268
311
|
// with two fields: `some` (a boolean) and `value` (a field array in this case).
|
|
269
312
|
if (values === null) {
|
|
@@ -281,22 +324,22 @@ import { packAsRetrievedNote } from './note_packing_utils.js';
|
|
|
281
324
|
}
|
|
282
325
|
}
|
|
283
326
|
async utilityDeleteCapsule([contractAddress], [slot]) {
|
|
284
|
-
await this.
|
|
327
|
+
await this.handlerAsUtility().utilityDeleteCapsule(AztecAddress.fromField(Fr.fromString(contractAddress)), Fr.fromString(slot));
|
|
285
328
|
return [];
|
|
286
329
|
}
|
|
287
330
|
async utilityCopyCapsule([contractAddress], [srcSlot], [dstSlot], [numEntries]) {
|
|
288
|
-
await this.
|
|
331
|
+
await this.handlerAsUtility().utilityCopyCapsule(AztecAddress.fromField(Fr.fromString(contractAddress)), Fr.fromString(srcSlot), Fr.fromString(dstSlot), Fr.fromString(numEntries).toNumber());
|
|
289
332
|
return [];
|
|
290
333
|
}
|
|
291
334
|
async utilityAes128Decrypt(ciphertextBVecStorage, [ciphertextLength], iv, symKey) {
|
|
292
335
|
const ciphertext = fromUintBoundedVec(ciphertextBVecStorage, ciphertextLength, 8);
|
|
293
336
|
const ivBuffer = fromUintArray(iv, 8);
|
|
294
337
|
const symKeyBuffer = fromUintArray(symKey, 8);
|
|
295
|
-
const plaintext = await this.
|
|
338
|
+
const plaintext = await this.handlerAsUtility().utilityAes128Decrypt(ciphertext, ivBuffer, symKeyBuffer);
|
|
296
339
|
return bufferToBoundedVec(plaintext, ciphertextBVecStorage.length);
|
|
297
340
|
}
|
|
298
341
|
async utilityGetSharedSecret([address], [ephPKField0], [ephPKField1], [ephPKField2]) {
|
|
299
|
-
const secret = await this.
|
|
342
|
+
const secret = await this.handlerAsUtility().utilityGetSharedSecret(AztecAddress.fromField(Fr.fromString(address)), Point.fromFields([
|
|
300
343
|
ephPKField0,
|
|
301
344
|
ephPKField1,
|
|
302
345
|
ephPKField2
|
|
@@ -304,11 +347,11 @@ import { packAsRetrievedNote } from './note_packing_utils.js';
|
|
|
304
347
|
return secret.toFields().map(toACVMField);
|
|
305
348
|
}
|
|
306
349
|
async utilityEmitOffchainEffect(data) {
|
|
307
|
-
await this.
|
|
350
|
+
await this.handlerAsPrivate().utilityEmitOffchainEffect(data.map(Fr.fromString));
|
|
308
351
|
return [];
|
|
309
352
|
}
|
|
310
353
|
async privateGetSenderForTags() {
|
|
311
|
-
const sender = await this.
|
|
354
|
+
const sender = await this.handlerAsPrivate().privateGetSenderForTags();
|
|
312
355
|
// Return [1, address] for Some(address), [0, 0] for None
|
|
313
356
|
return sender ? [
|
|
314
357
|
toACVMField(1n),
|
|
@@ -319,7 +362,7 @@ import { packAsRetrievedNote } from './note_packing_utils.js';
|
|
|
319
362
|
];
|
|
320
363
|
}
|
|
321
364
|
async privateSetSenderForTags([senderForTags]) {
|
|
322
|
-
await this.
|
|
365
|
+
await this.handlerAsPrivate().privateSetSenderForTags(AztecAddress.fromField(Fr.fromString(senderForTags)));
|
|
323
366
|
return [];
|
|
324
367
|
}
|
|
325
368
|
}
|
|
@@ -1,13 +1,8 @@
|
|
|
1
|
-
import { Fr } from '@aztec/foundation/fields';
|
|
2
1
|
import { type ACVMWitness, type CircuitSimulator } from '@aztec/simulator/client';
|
|
3
2
|
import { type FunctionArtifact, type FunctionArtifactWithContractName, type FunctionSelector } from '@aztec/stdlib/abi';
|
|
4
3
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
5
|
-
import type { ContractInstance } from '@aztec/stdlib/contract';
|
|
6
|
-
import type { AztecNode } from '@aztec/stdlib/interfaces/client';
|
|
7
4
|
import { PrivateCircuitPublicInputs } from '@aztec/stdlib/kernel';
|
|
8
|
-
import {
|
|
9
|
-
import type { UInt64 } from '@aztec/stdlib/types';
|
|
10
|
-
import type { ExecutionDataProvider } from '../execution_data_provider.js';
|
|
5
|
+
import { PrivateCallExecutionResult } from '@aztec/stdlib/tx';
|
|
11
6
|
import type { PrivateExecutionOracle } from './private_execution_oracle.js';
|
|
12
7
|
/**
|
|
13
8
|
* Execute a private function and return the execution result.
|
|
@@ -25,24 +20,4 @@ export declare function executePrivateFunction(simulator: CircuitSimulator, priv
|
|
|
25
20
|
* @returns - The public inputs.
|
|
26
21
|
*/
|
|
27
22
|
export declare function extractPrivateCircuitPublicInputs(artifact: FunctionArtifact, partialWitness: ACVMWitness): PrivateCircuitPublicInputs;
|
|
28
|
-
|
|
29
|
-
* Read the current class id of a contract from the execution data provider or AztecNode. If not found, class id
|
|
30
|
-
* from the instance is used.
|
|
31
|
-
* @param contractAddress - The address of the contract to read the class id for.
|
|
32
|
-
* @param instance - The instance of the contract.
|
|
33
|
-
* @param executionDataProvider - The execution data provider.
|
|
34
|
-
* @param blockNumber - The block number at which to load the DelayedPublicMutable storing the class id.
|
|
35
|
-
* @param timestamp - The timestamp at which to obtain the class id from the DelayedPublicMutable.
|
|
36
|
-
* @returns The current class id.
|
|
37
|
-
*/
|
|
38
|
-
export declare function readCurrentClassId(contractAddress: AztecAddress, instance: ContractInstance, executionDataProvider: ExecutionDataProvider | AztecNode, blockNumber: number, timestamp: UInt64): Promise<Fr>;
|
|
39
|
-
/**
|
|
40
|
-
* Verify that the current class id of a contract obtained from AztecNode is the same as the one in the execution data
|
|
41
|
-
* provider (i.e. PXE).
|
|
42
|
-
* @param contractAddress - The address of the contract to verify class id for.
|
|
43
|
-
* @param executionDataProvider - The execution data provider.
|
|
44
|
-
* @param header - The header of the block at which to verify the current class id. If not provided, the current block
|
|
45
|
-
* number and timestamp from the execution data provider will be used.
|
|
46
|
-
*/
|
|
47
|
-
export declare function verifyCurrentClassId(contractAddress: AztecAddress, executionDataProvider: ExecutionDataProvider, header?: BlockHeader): Promise<void>;
|
|
48
|
-
//# sourceMappingURL=private_execution.d.ts.map
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9leGVjdXRpb24uZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250cmFjdF9mdW5jdGlvbl9zaW11bGF0b3Ivb3JhY2xlL3ByaXZhdGVfZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFDTCxLQUFLLFdBQVcsRUFDaEIsS0FBSyxnQkFBZ0IsRUFLdEIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQ0wsS0FBSyxnQkFBZ0IsRUFDckIsS0FBSyxnQ0FBZ0MsRUFDckMsS0FBSyxnQkFBZ0IsRUFFdEIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVsRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUc5RCxPQUFPLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTVFOzs7Ozs7O0dBT0c7QUFDSCx3QkFBc0Isc0JBQXNCLENBQzFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFDM0Isc0JBQXNCLEVBQUUsc0JBQXNCLEVBQzlDLFFBQVEsRUFBRSxnQ0FBZ0MsRUFDMUMsZUFBZSxFQUFFLFlBQVksRUFDN0IsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQ2xDLEdBQUcseUNBQThDLEdBQ2hELE9BQU8sQ0FBQywwQkFBMEIsQ0FBQyxDQTJFckM7QUFFRDs7Ozs7R0FLRztBQUNILHdCQUFnQixpQ0FBaUMsQ0FDL0MsUUFBUSxFQUFFLGdCQUFnQixFQUMxQixjQUFjLEVBQUUsV0FBVyxHQUMxQiwwQkFBMEIsQ0FhNUIifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"private_execution.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/private_execution.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"private_execution.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/private_execution.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,gBAAgB,EAKtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,gCAAgC,EACrC,KAAK,gBAAgB,EAEtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAElE,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAG9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAE5E;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,gBAAgB,EAC3B,sBAAsB,EAAE,sBAAsB,EAC9C,QAAQ,EAAE,gCAAgC,EAC1C,eAAe,EAAE,YAAY,EAC7B,gBAAgB,EAAE,gBAAgB,EAClC,GAAG,yCAA8C,GAChD,OAAO,CAAC,0BAA0B,CAAC,CA2ErC;AAED;;;;;GAKG;AACH,wBAAgB,iCAAiC,CAC/C,QAAQ,EAAE,gBAAgB,EAC1B,cAAc,EAAE,WAAW,GAC1B,0BAA0B,CAa5B"}
|
|
@@ -1,11 +1,9 @@
|
|
|
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
|
-
import { ProtocolContractAddress } from '@aztec/protocol-contracts';
|
|
6
5
|
import { ExecutionError, extractCallStack, resolveAssertionMessageFromError, witnessMapToFields } from '@aztec/simulator/client';
|
|
7
6
|
import { countArgumentsSize } from '@aztec/stdlib/abi';
|
|
8
|
-
import { DelayedPublicMutableValues, DelayedPublicMutableValuesWithHash } from '@aztec/stdlib/delayed-public-mutable';
|
|
9
7
|
import { PrivateCircuitPublicInputs } from '@aztec/stdlib/kernel';
|
|
10
8
|
import { PrivateCallExecutionResult } from '@aztec/stdlib/tx';
|
|
11
9
|
import { Oracle } from './oracle.js';
|
|
@@ -48,10 +46,10 @@ import { Oracle } from './oracle.js';
|
|
|
48
46
|
});
|
|
49
47
|
const contractClassLogs = privateExecutionOracle.getContractClassLogs();
|
|
50
48
|
const rawReturnValues = await privateExecutionOracle.privateLoadFromExecutionCache(publicInputs.returnsHash);
|
|
51
|
-
const noteHashLeafIndexMap = privateExecutionOracle.getNoteHashLeafIndexMap();
|
|
52
49
|
const newNotes = privateExecutionOracle.getNewNotes();
|
|
53
50
|
const noteHashNullifierCounterMap = privateExecutionOracle.getNoteHashNullifierCounterMap();
|
|
54
51
|
const offchainEffects = privateExecutionOracle.getOffchainEffects();
|
|
52
|
+
const preTags = privateExecutionOracle.getUsedPreTags();
|
|
55
53
|
const nestedExecutionResults = privateExecutionOracle.getNestedExecutionResults();
|
|
56
54
|
let timerSubtractionList = nestedExecutionResults;
|
|
57
55
|
let witgenTime = duration;
|
|
@@ -61,7 +59,7 @@ import { Oracle } from './oracle.js';
|
|
|
61
59
|
timerSubtractionList = timerSubtractionList.flatMap((nested)=>nested.nestedExecutionResults ?? []);
|
|
62
60
|
}
|
|
63
61
|
log.debug(`Returning from call to ${contractAddress.toString()}:${functionSelector}`);
|
|
64
|
-
return new PrivateCallExecutionResult(artifact.bytecode, Buffer.from(artifact.verificationKey, 'base64'), partialWitness, publicInputs,
|
|
62
|
+
return new PrivateCallExecutionResult(artifact.bytecode, Buffer.from(artifact.verificationKey, 'base64'), partialWitness, publicInputs, newNotes, noteHashNullifierCounterMap, rawReturnValues, offchainEffects, preTags, nestedExecutionResults, contractClassLogs, {
|
|
65
63
|
timings: {
|
|
66
64
|
witgen: witgenTime,
|
|
67
65
|
oracles: acirExecutionResult.oracles
|
|
@@ -87,46 +85,3 @@ import { Oracle } from './oracle.js';
|
|
|
87
85
|
}
|
|
88
86
|
return PrivateCircuitPublicInputs.fromFields(returnData);
|
|
89
87
|
}
|
|
90
|
-
/**
|
|
91
|
-
* Read the current class id of a contract from the execution data provider or AztecNode. If not found, class id
|
|
92
|
-
* from the instance is used.
|
|
93
|
-
* @param contractAddress - The address of the contract to read the class id for.
|
|
94
|
-
* @param instance - The instance of the contract.
|
|
95
|
-
* @param executionDataProvider - The execution data provider.
|
|
96
|
-
* @param blockNumber - The block number at which to load the DelayedPublicMutable storing the class id.
|
|
97
|
-
* @param timestamp - The timestamp at which to obtain the class id from the DelayedPublicMutable.
|
|
98
|
-
* @returns The current class id.
|
|
99
|
-
*/ export async function readCurrentClassId(contractAddress, instance, executionDataProvider, blockNumber, timestamp) {
|
|
100
|
-
const { delayedPublicMutableSlot } = await DelayedPublicMutableValuesWithHash.getContractUpdateSlots(contractAddress);
|
|
101
|
-
const delayedPublicMutableValues = await DelayedPublicMutableValues.readFromTree(delayedPublicMutableSlot, (slot)=>executionDataProvider.getPublicStorageAt(blockNumber, ProtocolContractAddress.ContractInstanceRegistry, slot));
|
|
102
|
-
let currentClassId = delayedPublicMutableValues.svc.getCurrentAt(timestamp)[0];
|
|
103
|
-
if (currentClassId.isZero()) {
|
|
104
|
-
currentClassId = instance.originalContractClassId;
|
|
105
|
-
}
|
|
106
|
-
return currentClassId;
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* Verify that the current class id of a contract obtained from AztecNode is the same as the one in the execution data
|
|
110
|
-
* provider (i.e. PXE).
|
|
111
|
-
* @param contractAddress - The address of the contract to verify class id for.
|
|
112
|
-
* @param executionDataProvider - The execution data provider.
|
|
113
|
-
* @param header - The header of the block at which to verify the current class id. If not provided, the current block
|
|
114
|
-
* number and timestamp from the execution data provider will be used.
|
|
115
|
-
*/ export async function verifyCurrentClassId(contractAddress, executionDataProvider, header) {
|
|
116
|
-
let blockNumber;
|
|
117
|
-
let timestamp;
|
|
118
|
-
if (header) {
|
|
119
|
-
blockNumber = header.globalVariables.blockNumber;
|
|
120
|
-
timestamp = header.globalVariables.timestamp;
|
|
121
|
-
} else {
|
|
122
|
-
[blockNumber, timestamp] = await Promise.all([
|
|
123
|
-
executionDataProvider.getBlockNumber(),
|
|
124
|
-
executionDataProvider.getTimestamp()
|
|
125
|
-
]);
|
|
126
|
-
}
|
|
127
|
-
const instance = await executionDataProvider.getContractInstance(contractAddress);
|
|
128
|
-
const currentClassId = await readCurrentClassId(contractAddress, instance, executionDataProvider, blockNumber, timestamp);
|
|
129
|
-
if (!instance.currentContractClassId.equals(currentClassId)) {
|
|
130
|
-
throw new Error(`Contract ${contractAddress} is outdated, current class id is ${currentClassId}, local class id is ${instance.currentContractClassId}`);
|
|
131
|
-
}
|
|
132
|
-
}
|