@aztec/pxe 0.0.0-test.1 → 0.0.1-commit.1142ef1
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/bin/check_oracle_version.d.ts +2 -0
- package/dest/bin/check_oracle_version.d.ts.map +1 -0
- package/dest/bin/check_oracle_version.js +129 -0
- package/dest/block_synchronizer/block_synchronizer.d.ts +39 -0
- package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -0
- package/dest/{synchronizer/synchronizer.js → block_synchronizer/block_synchronizer.js} +34 -35
- 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 -24
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +18 -33
- package/dest/config/package_info.d.ts +1 -1
- package/dest/config/package_info.js +1 -1
- package/dest/contract_function_simulator/contract_function_simulator.d.ts +86 -0
- package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -0
- package/dest/contract_function_simulator/contract_function_simulator.js +331 -0
- package/dest/contract_function_simulator/execution_note_cache.d.ts +95 -0
- package/dest/contract_function_simulator/execution_note_cache.d.ts.map +1 -0
- package/dest/contract_function_simulator/execution_note_cache.js +191 -0
- 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 +28 -0
- package/dest/contract_function_simulator/hashed_values_cache.d.ts.map +1 -0
- package/dest/contract_function_simulator/hashed_values_cache.js +36 -0
- package/dest/contract_function_simulator/index.d.ts +14 -0
- package/dest/contract_function_simulator/index.d.ts.map +1 -0
- package/dest/contract_function_simulator/index.js +12 -0
- package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts +21 -0
- package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/event_validation_request.js +40 -0
- package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts +16 -0
- package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/log_retrieval_request.js +26 -0
- package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts +17 -0
- package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/log_retrieval_response.js +65 -0
- package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts +24 -0
- package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts.map +1 -0
- package/dest/contract_function_simulator/noir-structs/note_validation_request.js +51 -0
- package/dest/contract_function_simulator/noir-structs/utility_context.d.ts +22 -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 +33 -0
- package/dest/contract_function_simulator/oracle/index.d.ts +14 -0
- package/dest/contract_function_simulator/oracle/index.d.ts.map +1 -0
- package/dest/contract_function_simulator/oracle/index.js +2 -0
- package/dest/contract_function_simulator/oracle/interfaces.d.ts +103 -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 +17 -0
- package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts.map +1 -0
- package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.js +24 -0
- package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts +28 -0
- package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts.map +1 -0
- package/dest/contract_function_simulator/oracle/note_packing_utils.js +54 -0
- package/dest/contract_function_simulator/oracle/oracle.d.ts +58 -0
- package/dest/contract_function_simulator/oracle/oracle.d.ts.map +1 -0
- package/dest/contract_function_simulator/oracle/oracle.js +345 -0
- package/dest/contract_function_simulator/oracle/private_execution.d.ts +47 -0
- package/dest/contract_function_simulator/oracle/private_execution.d.ts.map +1 -0
- package/dest/contract_function_simulator/oracle/private_execution.js +122 -0
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +231 -0
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -0
- package/dest/contract_function_simulator/oracle/private_execution_oracle.js +414 -0
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +196 -0
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -0
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +374 -0
- package/dest/contract_function_simulator/pick_notes.d.ts +85 -0
- package/dest/contract_function_simulator/pick_notes.d.ts.map +1 -0
- package/dest/contract_function_simulator/pick_notes.js +51 -0
- package/dest/contract_function_simulator/proxied_contract_data_source.d.ts +6 -0
- package/dest/contract_function_simulator/proxied_contract_data_source.d.ts.map +1 -0
- package/dest/contract_function_simulator/proxied_contract_data_source.js +80 -0
- package/dest/contract_function_simulator/proxied_node.d.ts +9 -0
- package/dest/contract_function_simulator/proxied_node.d.ts.map +1 -0
- package/dest/contract_function_simulator/proxied_node.js +27 -0
- package/dest/debug/pxe_debug_utils.d.ts +31 -0
- package/dest/debug/pxe_debug_utils.d.ts.map +1 -0
- package/dest/debug/pxe_debug_utils.js +37 -0
- package/dest/entrypoints/client/bundle/index.d.ts +4 -3
- package/dest/entrypoints/client/bundle/index.d.ts.map +1 -1
- package/dest/entrypoints/client/bundle/index.js +2 -2
- package/dest/entrypoints/client/bundle/utils.d.ts +10 -10
- package/dest/entrypoints/client/bundle/utils.d.ts.map +1 -1
- package/dest/entrypoints/client/bundle/utils.js +27 -12
- package/dest/entrypoints/client/lazy/index.d.ts +4 -3
- package/dest/entrypoints/client/lazy/index.d.ts.map +1 -1
- package/dest/entrypoints/client/lazy/index.js +2 -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 +26 -11
- package/dest/entrypoints/pxe_creation_options.d.ts +17 -0
- package/dest/entrypoints/pxe_creation_options.d.ts.map +1 -0
- package/dest/entrypoints/server/index.d.ts +6 -4
- package/dest/entrypoints/server/index.d.ts.map +1 -1
- package/dest/entrypoints/server/index.js +4 -3
- package/dest/entrypoints/server/utils.d.ts +8 -16
- package/dest/entrypoints/server/utils.d.ts.map +1 -1
- package/dest/entrypoints/server/utils.js +35 -36
- 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} +30 -22
- package/dest/events/event_service.d.ts +15 -0
- package/dest/events/event_service.d.ts.map +1 -0
- package/dest/events/event_service.js +47 -0
- package/dest/events/index.d.ts +2 -0
- package/dest/events/index.d.ts.map +1 -0
- package/dest/events/index.js +1 -0
- package/dest/events/private_event_filter_validator.d.ts +9 -0
- package/dest/events/private_event_filter_validator.d.ts.map +1 -0
- package/dest/events/private_event_filter_validator.js +39 -0
- package/dest/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 +26 -0
- package/dest/logs/log_service.d.ts.map +1 -0
- package/dest/logs/log_service.js +120 -0
- package/dest/notes/index.d.ts +2 -0
- package/dest/notes/index.d.ts.map +1 -0
- package/dest/notes/index.js +1 -0
- package/dest/notes/note_service.d.ts +48 -0
- package/dest/notes/note_service.d.ts.map +1 -0
- package/dest/notes/note_service.js +152 -0
- package/dest/oracle_version.d.ts +3 -0
- package/dest/oracle_version.d.ts.map +1 -0
- package/dest/oracle_version.js +10 -0
- package/dest/private_kernel/hints/build_private_kernel_reset_private_inputs.d.ts +28 -0
- package/dest/private_kernel/hints/build_private_kernel_reset_private_inputs.d.ts.map +1 -0
- package/dest/private_kernel/hints/build_private_kernel_reset_private_inputs.js +271 -0
- package/dest/private_kernel/hints/compute_tx_include_by_timestamp.d.ts +4 -0
- package/dest/private_kernel/hints/compute_tx_include_by_timestamp.d.ts.map +1 -0
- package/dest/private_kernel/hints/compute_tx_include_by_timestamp.js +41 -0
- package/dest/private_kernel/hints/index.d.ts +3 -0
- package/dest/private_kernel/hints/index.d.ts.map +1 -0
- package/dest/{kernel_prover → private_kernel}/hints/index.js +1 -0
- package/dest/private_kernel/index.d.ts +3 -0
- package/dest/private_kernel/index.d.ts.map +1 -0
- package/dest/private_kernel/index.js +2 -0
- package/dest/private_kernel/private_kernel_execution_prover.d.ts +44 -0
- package/dest/private_kernel/private_kernel_execution_prover.d.ts.map +1 -0
- package/dest/private_kernel/private_kernel_execution_prover.js +285 -0
- package/dest/private_kernel/private_kernel_oracle.d.ts +64 -0
- package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -0
- package/dest/private_kernel/private_kernel_oracle.js +4 -0
- package/dest/private_kernel/private_kernel_oracle_impl.d.ts +46 -0
- package/dest/private_kernel/private_kernel_oracle_impl.d.ts.map +1 -0
- package/dest/{kernel_oracle/index.js → private_kernel/private_kernel_oracle_impl.js} +27 -18
- package/dest/public_storage/public_storage_service.d.ts +24 -0
- package/dest/public_storage/public_storage_service.d.ts.map +1 -0
- package/dest/public_storage/public_storage_service.js +26 -0
- package/dest/pxe.d.ts +233 -0
- package/dest/pxe.d.ts.map +1 -0
- package/dest/pxe.js +782 -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} +1 -4
- 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 -12
- 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 +57 -0
- package/dest/storage/capsule_store/capsule_store.d.ts.map +1 -0
- package/dest/storage/capsule_store/capsule_store.js +146 -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 +67 -0
- package/dest/storage/contract_store/contract_store.d.ts.map +1 -0
- package/dest/storage/contract_store/contract_store.js +236 -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_store/private_functions_tree.d.ts +27 -0
- package/dest/storage/contract_store/private_functions_tree.d.ts.map +1 -0
- package/dest/storage/contract_store/private_functions_tree.js +47 -0
- package/dest/storage/index.d.ts +9 -10
- package/dest/storage/index.d.ts.map +1 -1
- package/dest/storage/index.js +8 -9
- package/dest/storage/metadata.d.ts +2 -0
- package/dest/storage/metadata.d.ts.map +1 -0
- package/dest/storage/metadata.js +1 -0
- 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 +84 -0
- package/dest/storage/note_store/note_store.d.ts.map +1 -0
- package/dest/storage/note_store/note_store.js +322 -0
- package/dest/storage/private_event_store/private_event_store.d.ts +56 -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 +158 -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 +21 -0
- package/dest/storage/tagging_store/recipient_tagging_store.d.ts.map +1 -0
- package/dest/storage/tagging_store/recipient_tagging_store.js +42 -0
- package/dest/storage/tagging_store/sender_address_book_store.d.ts +14 -0
- package/dest/storage/tagging_store/sender_address_book_store.d.ts.map +1 -0
- package/dest/storage/tagging_store/sender_address_book_store.js +30 -0
- package/dest/storage/tagging_store/sender_tagging_store.d.ts +67 -0
- package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -0
- package/dest/storage/tagging_store/sender_tagging_store.js +196 -0
- package/dest/tagging/constants.d.ts +2 -0
- package/dest/tagging/constants.d.ts.map +1 -0
- package/dest/tagging/constants.js +10 -0
- package/dest/tagging/index.d.ts +16 -0
- package/dest/tagging/index.d.ts.map +1 -0
- package/dest/tagging/index.js +14 -0
- package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts +14 -0
- package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts.map +1 -0
- package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.js +99 -0
- package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts +12 -0
- package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts.map +1 -0
- package/dest/tagging/recipient_sync/utils/find_highest_indexes.js +20 -0
- package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts +14 -0
- package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts.map +1 -0
- package/dest/tagging/recipient_sync/utils/load_logs_for_range.js +29 -0
- package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts +20 -0
- package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts.map +1 -0
- package/dest/tagging/sender_sync/sync_sender_tagging_indexes.js +74 -0
- package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts +11 -0
- package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts.map +1 -0
- package/dest/tagging/sender_sync/utils/get_status_change_of_pending.js +32 -0
- package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts +18 -0
- package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts.map +1 -0
- package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.js +55 -0
- package/dest/tree_membership/tree_membership_service.d.ts +52 -0
- package/dest/tree_membership/tree_membership_service.d.ts.map +1 -0
- package/dest/tree_membership/tree_membership_service.js +84 -0
- package/package.json +37 -34
- package/src/bin/check_oracle_version.ts +160 -0
- package/src/{synchronizer/synchronizer.ts → block_synchronizer/block_synchronizer.ts} +37 -38
- package/src/block_synchronizer/index.ts +1 -0
- package/src/config/index.ts +27 -55
- package/src/config/package_info.ts +1 -1
- package/src/contract_function_simulator/contract_function_simulator.ts +627 -0
- package/src/contract_function_simulator/execution_note_cache.ts +233 -0
- package/src/contract_function_simulator/execution_tagging_index_cache.ts +32 -0
- package/src/contract_function_simulator/hashed_values_cache.ts +47 -0
- package/src/contract_function_simulator/index.ts +13 -0
- package/src/contract_function_simulator/noir-structs/event_validation_request.ts +51 -0
- package/src/contract_function_simulator/noir-structs/log_retrieval_request.ts +28 -0
- package/src/contract_function_simulator/noir-structs/log_retrieval_response.ts +69 -0
- package/src/contract_function_simulator/noir-structs/note_validation_request.ts +64 -0
- package/src/contract_function_simulator/noir-structs/utility_context.ts +42 -0
- package/src/contract_function_simulator/oracle/index.ts +16 -0
- package/src/contract_function_simulator/oracle/interfaces.ts +175 -0
- package/src/contract_function_simulator/oracle/message_load_oracle_inputs.ts +23 -0
- package/src/contract_function_simulator/oracle/note_packing_utils.ts +68 -0
- package/src/contract_function_simulator/oracle/oracle.ts +605 -0
- package/src/contract_function_simulator/oracle/private_execution.ts +207 -0
- package/src/contract_function_simulator/oracle/private_execution_oracle.ts +676 -0
- package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +536 -0
- package/src/contract_function_simulator/pick_notes.ts +141 -0
- package/src/contract_function_simulator/proxied_contract_data_source.ts +83 -0
- package/src/contract_function_simulator/proxied_node.ts +33 -0
- package/src/debug/pxe_debug_utils.ts +48 -0
- package/src/entrypoints/client/bundle/index.ts +3 -2
- package/src/entrypoints/client/bundle/utils.ts +42 -36
- package/src/entrypoints/client/lazy/index.ts +3 -2
- package/src/entrypoints/client/lazy/utils.ts +41 -31
- package/src/entrypoints/pxe_creation_options.ts +13 -0
- package/src/entrypoints/server/index.ts +5 -3
- package/src/entrypoints/server/utils.ts +55 -51
- package/src/{pxe_service/error_enriching.ts → error_enriching.ts} +40 -39
- package/src/events/event_service.ts +79 -0
- package/src/events/index.ts +1 -0
- package/src/events/private_event_filter_validator.ts +48 -0
- package/src/job_coordinator/job_coordinator.ts +149 -0
- package/src/logs/log_service.ts +202 -0
- package/src/notes/index.ts +1 -0
- package/src/notes/note_service.ts +200 -0
- package/src/oracle_version.ts +11 -0
- package/src/{kernel_prover → private_kernel}/hints/build_private_kernel_reset_private_inputs.ts +159 -148
- package/src/private_kernel/hints/compute_tx_include_by_timestamp.ts +58 -0
- package/src/{kernel_prover → private_kernel}/hints/index.ts +1 -0
- package/src/private_kernel/index.ts +2 -0
- package/src/private_kernel/private_kernel_execution_prover.ts +430 -0
- package/src/{kernel_prover/proving_data_oracle.ts → private_kernel/private_kernel_oracle.ts} +19 -29
- package/src/{kernel_oracle/index.ts → private_kernel/private_kernel_oracle_impl.ts} +40 -30
- package/src/public_storage/public_storage_service.ts +33 -0
- package/src/pxe.ts +1111 -0
- package/src/storage/{address_data_provider/address_data_provider.ts → address_store/address_store.ts} +1 -7
- 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 -17
- package/src/storage/anchor_block_store/index.ts +1 -0
- package/src/storage/capsule_store/capsule_store.ts +179 -0
- package/src/storage/capsule_store/index.ts +1 -0
- package/src/storage/contract_store/contract_store.ts +339 -0
- package/src/storage/contract_store/index.ts +1 -0
- package/src/storage/contract_store/private_functions_tree.ts +67 -0
- package/src/storage/index.ts +8 -10
- package/src/storage/metadata.ts +1 -0
- package/src/storage/note_store/index.ts +2 -0
- package/src/storage/{note_data_provider/note_data_provider.ts → note_store/note_store.ts} +190 -123
- package/src/storage/private_event_store/private_event_store.ts +216 -0
- package/src/storage/tagging_store/index.ts +3 -0
- package/src/storage/tagging_store/recipient_tagging_store.ts +53 -0
- package/src/storage/tagging_store/sender_address_book_store.ts +42 -0
- package/src/storage/tagging_store/sender_tagging_store.ts +244 -0
- package/src/tagging/constants.ts +10 -0
- package/src/tagging/index.ts +18 -0
- package/src/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.ts +132 -0
- package/src/tagging/recipient_sync/utils/find_highest_indexes.ts +34 -0
- package/src/tagging/recipient_sync/utils/load_logs_for_range.ts +43 -0
- package/src/tagging/sender_sync/sync_sender_tagging_indexes.ts +96 -0
- package/src/tagging/sender_sync/utils/get_status_change_of_pending.ts +48 -0
- package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +72 -0
- package/src/tree_membership/tree_membership_service.ts +112 -0
- package/dest/bin/index.d.ts +0 -3
- package/dest/bin/index.d.ts.map +0 -1
- package/dest/bin/index.js +0 -28
- package/dest/entrypoints/client/pxe_creation_options.d.ts +0 -11
- package/dest/entrypoints/client/pxe_creation_options.d.ts.map +0 -1
- package/dest/kernel_oracle/index.d.ts +0 -45
- package/dest/kernel_oracle/index.d.ts.map +0 -1
- package/dest/kernel_prover/hints/build_private_kernel_reset_private_inputs.d.ts +0 -28
- package/dest/kernel_prover/hints/build_private_kernel_reset_private_inputs.d.ts.map +0 -1
- package/dest/kernel_prover/hints/build_private_kernel_reset_private_inputs.js +0 -270
- package/dest/kernel_prover/hints/index.d.ts +0 -2
- package/dest/kernel_prover/hints/index.d.ts.map +0 -1
- package/dest/kernel_prover/index.d.ts +0 -3
- package/dest/kernel_prover/index.d.ts.map +0 -1
- package/dest/kernel_prover/index.js +0 -2
- package/dest/kernel_prover/kernel_prover.d.ts +0 -38
- package/dest/kernel_prover/kernel_prover.d.ts.map +0 -1
- package/dest/kernel_prover/kernel_prover.js +0 -217
- package/dest/kernel_prover/proving_data_oracle.d.ts +0 -73
- package/dest/kernel_prover/proving_data_oracle.d.ts.map +0 -1
- package/dest/kernel_prover/proving_data_oracle.js +0 -4
- package/dest/note_decryption_utils/add_public_values_to_payload.d.ts +0 -11
- package/dest/note_decryption_utils/add_public_values_to_payload.d.ts.map +0 -1
- package/dest/note_decryption_utils/add_public_values_to_payload.js +0 -47
- package/dest/pxe_http/index.d.ts +0 -2
- package/dest/pxe_http/index.d.ts.map +0 -1
- package/dest/pxe_http/index.js +0 -1
- package/dest/pxe_http/pxe_http_server.d.ts +0 -16
- package/dest/pxe_http/pxe_http_server.d.ts.map +0 -1
- package/dest/pxe_http/pxe_http_server.js +0 -27
- package/dest/pxe_oracle_interface/index.d.ts +0 -159
- package/dest/pxe_oracle_interface/index.d.ts.map +0 -1
- package/dest/pxe_oracle_interface/index.js +0 -692
- package/dest/pxe_oracle_interface/tagging_utils.d.ts +0 -17
- package/dest/pxe_oracle_interface/tagging_utils.d.ts.map +0 -1
- package/dest/pxe_oracle_interface/tagging_utils.js +0 -23
- 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 -111
- package/dest/pxe_service/pxe_service.d.ts.map +0 -1
- package/dest/pxe_service/pxe_service.js +0 -664
- 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/auth_witness_data_provider/auth_witness_data_provider.d.ts +0 -11
- package/dest/storage/auth_witness_data_provider/auth_witness_data_provider.d.ts.map +0 -1
- package/dest/storage/auth_witness_data_provider/auth_witness_data_provider.js +0 -20
- package/dest/storage/auth_witness_data_provider/index.d.ts +0 -2
- package/dest/storage/auth_witness_data_provider/index.d.ts.map +0 -1
- package/dest/storage/auth_witness_data_provider/index.js +0 -1
- package/dest/storage/capsule_data_provider/capsule_data_provider.d.ts +0 -16
- 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 -57
- 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 -109
- 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 -183
- package/dest/storage/contract_data_provider/index.d.ts +0 -3
- package/dest/storage/contract_data_provider/index.d.ts.map +0 -1
- package/dest/storage/contract_data_provider/index.js +0 -2
- package/dest/storage/contract_data_provider/private_functions_tree.d.ts +0 -66
- package/dest/storage/contract_data_provider/private_functions_tree.d.ts.map +0 -1
- package/dest/storage/contract_data_provider/private_functions_tree.js +0 -99
- 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 -106
- package/dest/storage/note_data_provider/note_dao.d.ts.map +0 -1
- package/dest/storage/note_data_provider/note_dao.js +0 -106
- 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 -249
- 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 -65
- 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 -37
- package/dest/synchronizer/synchronizer.d.ts.map +0 -1
- 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 -38
- package/src/entrypoints/client/pxe_creation_options.ts +0 -7
- package/src/kernel_prover/index.ts +0 -2
- package/src/kernel_prover/kernel_prover.ts +0 -351
- package/src/note_decryption_utils/add_public_values_to_payload.ts +0 -64
- package/src/pxe_http/index.ts +0 -1
- package/src/pxe_http/pxe_http_server.ts +0 -29
- package/src/pxe_oracle_interface/index.ts +0 -925
- package/src/pxe_oracle_interface/tagging_utils.ts +0 -32
- package/src/pxe_service/index.ts +0 -2
- package/src/pxe_service/pxe_service.ts +0 -949
- package/src/storage/address_data_provider/index.ts +0 -1
- package/src/storage/auth_witness_data_provider/auth_witness_data_provider.ts +0 -34
- package/src/storage/auth_witness_data_provider/index.ts +0 -1
- package/src/storage/capsule_data_provider/capsule_data_provider.ts +0 -80
- package/src/storage/capsule_data_provider/index.ts +0 -1
- package/src/storage/contract_data_provider/contract_data_provider.ts +0 -261
- package/src/storage/contract_data_provider/index.ts +0 -2
- package/src/storage/contract_data_provider/private_functions_tree.ts +0 -131
- 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 -162
- 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 -92
- package/src/synchronizer/index.ts +0 -1
- package/src/test/pxe_test_suite.ts +0 -111
- /package/dest/entrypoints/{client/pxe_creation_options.js → pxe_creation_options.js} +0 -0
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { toArray } from '@aztec/foundation/iterable';
|
|
2
|
-
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
3
|
-
export class TaggingDataProvider {
|
|
4
|
-
#store;
|
|
5
|
-
#addressBook;
|
|
6
|
-
// Stores the last index used for each tagging secret, taking direction into account
|
|
7
|
-
// This is necessary to avoid reusing the same index for the same secret, which happens if
|
|
8
|
-
// sender and recipient are the same
|
|
9
|
-
#taggingSecretIndexesForSenders;
|
|
10
|
-
#taggingSecretIndexesForRecipients;
|
|
11
|
-
constructor(store){
|
|
12
|
-
this.#store = store;
|
|
13
|
-
this.#addressBook = this.#store.openMap('address_book');
|
|
14
|
-
this.#taggingSecretIndexesForSenders = this.#store.openMap('tagging_secret_indexes_for_senders');
|
|
15
|
-
this.#taggingSecretIndexesForRecipients = this.#store.openMap('tagging_secret_indexes_for_recipients');
|
|
16
|
-
}
|
|
17
|
-
async setTaggingSecretsIndexesAsSender(indexedSecrets) {
|
|
18
|
-
await this.#setTaggingSecretsIndexes(indexedSecrets, this.#taggingSecretIndexesForSenders);
|
|
19
|
-
}
|
|
20
|
-
async setTaggingSecretsIndexesAsRecipient(indexedSecrets) {
|
|
21
|
-
await this.#setTaggingSecretsIndexes(indexedSecrets, this.#taggingSecretIndexesForRecipients);
|
|
22
|
-
}
|
|
23
|
-
async #setTaggingSecretsIndexes(indexedSecrets, storageMap) {
|
|
24
|
-
await Promise.all(indexedSecrets.map((indexedSecret)=>storageMap.set(indexedSecret.appTaggingSecret.toString(), indexedSecret.index)));
|
|
25
|
-
}
|
|
26
|
-
async getTaggingSecretsIndexesAsRecipient(appTaggingSecrets) {
|
|
27
|
-
return await this.#getTaggingSecretsIndexes(appTaggingSecrets, this.#taggingSecretIndexesForRecipients);
|
|
28
|
-
}
|
|
29
|
-
async getTaggingSecretsIndexesAsSender(appTaggingSecrets) {
|
|
30
|
-
return await this.#getTaggingSecretsIndexes(appTaggingSecrets, this.#taggingSecretIndexesForSenders);
|
|
31
|
-
}
|
|
32
|
-
#getTaggingSecretsIndexes(appTaggingSecrets, storageMap) {
|
|
33
|
-
return Promise.all(appTaggingSecrets.map(async (secret)=>await storageMap.getAsync(`${secret.toString()}`) ?? 0));
|
|
34
|
-
}
|
|
35
|
-
resetNoteSyncData() {
|
|
36
|
-
return this.#store.transactionAsync(async ()=>{
|
|
37
|
-
const recipients = await toArray(this.#taggingSecretIndexesForRecipients.keysAsync());
|
|
38
|
-
await Promise.all(recipients.map((recipient)=>this.#taggingSecretIndexesForRecipients.delete(recipient)));
|
|
39
|
-
const senders = await toArray(this.#taggingSecretIndexesForSenders.keysAsync());
|
|
40
|
-
await Promise.all(senders.map((sender)=>this.#taggingSecretIndexesForSenders.delete(sender)));
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
async addSenderAddress(address) {
|
|
44
|
-
if (await this.#addressBook.hasAsync(address.toString())) {
|
|
45
|
-
return false;
|
|
46
|
-
}
|
|
47
|
-
await this.#addressBook.set(address.toString(), true);
|
|
48
|
-
return true;
|
|
49
|
-
}
|
|
50
|
-
async getSenderAddresses() {
|
|
51
|
-
return (await toArray(this.#addressBook.keysAsync())).map(AztecAddress.fromString);
|
|
52
|
-
}
|
|
53
|
-
async removeSenderAddress(address) {
|
|
54
|
-
if (!await this.#addressBook.hasAsync(address.toString())) {
|
|
55
|
-
return false;
|
|
56
|
-
}
|
|
57
|
-
await this.#addressBook.delete(address.toString());
|
|
58
|
-
return true;
|
|
59
|
-
}
|
|
60
|
-
async getSize() {
|
|
61
|
-
const addressesCount = (await toArray(this.#addressBook.keysAsync())).length;
|
|
62
|
-
// All keys are addresses
|
|
63
|
-
return 3 * addressesCount * AztecAddress.SIZE_IN_BYTES;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/synchronizer/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './synchronizer.js';
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { type Logger } from '@aztec/foundation/log';
|
|
2
|
-
import type { L2TipsStore } from '@aztec/kv-store/stores';
|
|
3
|
-
import { L2BlockStream, type L2BlockStreamEvent, type L2BlockStreamEventHandler } from '@aztec/stdlib/block';
|
|
4
|
-
import type { AztecNode } from '@aztec/stdlib/interfaces/client';
|
|
5
|
-
import type { PXEConfig } from '../config/index.js';
|
|
6
|
-
import type { NoteDataProvider } from '../storage/note_data_provider/note_data_provider.js';
|
|
7
|
-
import type { SyncDataProvider } from '../storage/sync_data_provider/sync_data_provider.js';
|
|
8
|
-
import type { TaggingDataProvider } from '../storage/tagging_data_provider/tagging_data_provider.js';
|
|
9
|
-
/**
|
|
10
|
-
* The Synchronizer class manages the synchronization with the aztec node, allowing PXE to retrieve the
|
|
11
|
-
* latest block header and handle reorgs.
|
|
12
|
-
* It provides methods to trigger a sync and get the block number we are syncec to
|
|
13
|
-
* details, and fetch transactions by hash.
|
|
14
|
-
*/
|
|
15
|
-
export declare class Synchronizer implements L2BlockStreamEventHandler {
|
|
16
|
-
private node;
|
|
17
|
-
private syncDataProvider;
|
|
18
|
-
private noteDataProvider;
|
|
19
|
-
private taggingDataProvider;
|
|
20
|
-
private l2TipsStore;
|
|
21
|
-
private initialSyncBlockNumber;
|
|
22
|
-
private log;
|
|
23
|
-
private isSyncing;
|
|
24
|
-
protected readonly blockStream: L2BlockStream;
|
|
25
|
-
constructor(node: AztecNode, syncDataProvider: SyncDataProvider, noteDataProvider: NoteDataProvider, taggingDataProvider: TaggingDataProvider, l2TipsStore: L2TipsStore, config?: Partial<Pick<PXEConfig, 'l2StartingBlock'>>, loggerOrSuffix?: string | Logger);
|
|
26
|
-
protected createBlockStream(config: Partial<Pick<PXEConfig, 'l2StartingBlock'>>): L2BlockStream;
|
|
27
|
-
/** Handle events emitted by the block stream. */
|
|
28
|
-
handleBlockStreamEvent(event: L2BlockStreamEvent): Promise<void>;
|
|
29
|
-
/**
|
|
30
|
-
* Syncs PXE and the node by dowloading the metadata of the latest blocks, allowing simulations to use
|
|
31
|
-
* recent data (e.g. notes), and handling any reorgs that might have occurred.
|
|
32
|
-
*/
|
|
33
|
-
sync(): Promise<void>;
|
|
34
|
-
private doSync;
|
|
35
|
-
getSynchedBlockNumber(): Promise<number>;
|
|
36
|
-
}
|
|
37
|
-
//# sourceMappingURL=synchronizer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"synchronizer.d.ts","sourceRoot":"","sources":["../../src/synchronizer/synchronizer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,KAAK,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAC7G,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qDAAqD,CAAC;AAC5F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qDAAqD,CAAC;AAC5F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2DAA2D,CAAC;AAErG;;;;;GAKG;AACH,qBAAa,YAAa,YAAW,yBAAyB;IAO1D,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,WAAW;IAVrB,OAAO,CAAC,sBAAsB,CAA4B;IAC1D,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,SAAS,CAA4B;IAC7C,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC;gBAGpC,IAAI,EAAE,SAAS,EACf,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,gBAAgB,EAClC,mBAAmB,EAAE,mBAAmB,EACxC,WAAW,EAAE,WAAW,EAChC,MAAM,GAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAM,EACxD,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM;IASlC,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;IAM/E,iDAAiD;IACpC,sBAAsB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAmC7E;;;OAGG;IACU,IAAI;YAiBH,MAAM;IAeP,qBAAqB;CAGnC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pxe_test_suite.d.ts","sourceRoot":"","sources":["../../src/test/pxe_test_suite.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,iCAAiC,CAAC;AAS3D,eAAO,MAAM,YAAY,aAAc,MAAM,YAAY,MAAM,QAAQ,GAAG,CAAC,SAiG1E,CAAC"}
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
import { INITIAL_L2_BLOCK_NUM } from '@aztec/constants';
|
|
2
|
-
import { Fr } from '@aztec/foundation/fields';
|
|
3
|
-
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
4
|
-
import { getContractClassFromArtifact } from '@aztec/stdlib/contract';
|
|
5
|
-
import { randomContractArtifact, randomContractInstanceWithAddress, randomDeployedContract } from '@aztec/stdlib/testing';
|
|
6
|
-
import omit from 'lodash.omit';
|
|
7
|
-
export const pxeTestSuite = (testName, pxeSetup)=>{
|
|
8
|
-
describe(testName, ()=>{
|
|
9
|
-
let pxe;
|
|
10
|
-
beforeAll(async ()=>{
|
|
11
|
-
pxe = await pxeSetup();
|
|
12
|
-
}, 120_000);
|
|
13
|
-
it('registers an account and returns it as an account only and not as a recipient', async ()=>{
|
|
14
|
-
const randomSecretKey = Fr.random();
|
|
15
|
-
const randomPartialAddress = Fr.random();
|
|
16
|
-
const completeAddress = await pxe.registerAccount(randomSecretKey, randomPartialAddress);
|
|
17
|
-
// Check that the account is correctly registered using the getAccounts and getRecipients methods
|
|
18
|
-
const accounts = await pxe.getRegisteredAccounts();
|
|
19
|
-
expect(accounts).toContainEqual(completeAddress);
|
|
20
|
-
});
|
|
21
|
-
it('does not throw when registering the same account twice (just ignores the second attempt)', async ()=>{
|
|
22
|
-
const randomSecretKey = Fr.random();
|
|
23
|
-
const randomPartialAddress = Fr.random();
|
|
24
|
-
await pxe.registerAccount(randomSecretKey, randomPartialAddress);
|
|
25
|
-
await pxe.registerAccount(randomSecretKey, randomPartialAddress);
|
|
26
|
-
});
|
|
27
|
-
it('successfully adds a contract', async ()=>{
|
|
28
|
-
const contracts = await Promise.all([
|
|
29
|
-
randomDeployedContract(),
|
|
30
|
-
randomDeployedContract()
|
|
31
|
-
]);
|
|
32
|
-
for (const contract of contracts){
|
|
33
|
-
await pxe.registerContract(contract);
|
|
34
|
-
}
|
|
35
|
-
const expectedContractAddresses = contracts.map((contract)=>contract.instance.address);
|
|
36
|
-
const contractAddresses = await pxe.getContracts();
|
|
37
|
-
expect(contractAddresses).toEqual(expect.arrayContaining(expectedContractAddresses));
|
|
38
|
-
});
|
|
39
|
-
it('registers a class and adds a contract for it', async ()=>{
|
|
40
|
-
const artifact = randomContractArtifact();
|
|
41
|
-
const contractClass = await getContractClassFromArtifact(artifact);
|
|
42
|
-
const contractClassId = contractClass.id;
|
|
43
|
-
const instance = await randomContractInstanceWithAddress({
|
|
44
|
-
contractClassId
|
|
45
|
-
});
|
|
46
|
-
await pxe.registerContractClass(artifact);
|
|
47
|
-
expect((await pxe.getContractClassMetadata(contractClassId)).contractClass).toMatchObject(omit(contractClass, 'privateFunctionsRoot', 'publicBytecodeCommitment'));
|
|
48
|
-
await pxe.registerContract({
|
|
49
|
-
instance
|
|
50
|
-
});
|
|
51
|
-
expect((await pxe.getContractMetadata(instance.address)).contractInstance).toEqual(instance);
|
|
52
|
-
});
|
|
53
|
-
it('refuses to register a class with a mismatched address', async ()=>{
|
|
54
|
-
const artifact = randomContractArtifact();
|
|
55
|
-
const contractClass = await getContractClassFromArtifact(artifact);
|
|
56
|
-
const contractClassId = contractClass.id;
|
|
57
|
-
const instance = await randomContractInstanceWithAddress({
|
|
58
|
-
contractClassId
|
|
59
|
-
});
|
|
60
|
-
await expect(pxe.registerContract({
|
|
61
|
-
instance: {
|
|
62
|
-
...instance,
|
|
63
|
-
address: await AztecAddress.random()
|
|
64
|
-
},
|
|
65
|
-
artifact
|
|
66
|
-
})).rejects.toThrow(/Added a contract in which the address does not match the contract instance./);
|
|
67
|
-
});
|
|
68
|
-
it('refuses to register a contract with a class that has not been registered', async ()=>{
|
|
69
|
-
const instance = await randomContractInstanceWithAddress();
|
|
70
|
-
await expect(pxe.registerContract({
|
|
71
|
-
instance
|
|
72
|
-
})).rejects.toThrow(/DB has no contract class with id/i);
|
|
73
|
-
});
|
|
74
|
-
it('refuses to register a contract with an artifact with mismatching class id', async ()=>{
|
|
75
|
-
const artifact = randomContractArtifact();
|
|
76
|
-
const instance = await randomContractInstanceWithAddress();
|
|
77
|
-
await expect(pxe.registerContract({
|
|
78
|
-
instance,
|
|
79
|
-
artifact
|
|
80
|
-
})).rejects.toThrow(/Artifact does not match/i);
|
|
81
|
-
});
|
|
82
|
-
// Note: Not testing a successful run of `proveTx`, `sendTx`, `getTxReceipt` and `simulateUnconstrained` here as it requires
|
|
83
|
-
// a larger setup and it's sufficiently tested in the e2e tests.
|
|
84
|
-
// Note: Not testing `getContractData`, `getPublicLogs` and `getPublicStorageAt` here as these
|
|
85
|
-
// functions only call AztecNode and these methods are frequently used by the e2e tests.
|
|
86
|
-
it('successfully gets a block number', async ()=>{
|
|
87
|
-
const blockNum = await pxe.getBlockNumber();
|
|
88
|
-
expect(blockNum).toBeGreaterThanOrEqual(INITIAL_L2_BLOCK_NUM);
|
|
89
|
-
});
|
|
90
|
-
it('successfully gets node info', async ()=>{
|
|
91
|
-
const nodeInfo = await pxe.getNodeInfo();
|
|
92
|
-
expect(typeof nodeInfo.protocolVersion).toEqual('number');
|
|
93
|
-
expect(typeof nodeInfo.l1ChainId).toEqual('number');
|
|
94
|
-
expect(nodeInfo.l1ContractAddresses.rollupAddress.toString()).toMatch(/0x[a-fA-F0-9]+/);
|
|
95
|
-
});
|
|
96
|
-
});
|
|
97
|
-
};
|
package/src/bin/index.ts
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env -S node --no-warnings
|
|
2
|
-
import { createLogger } from '@aztec/foundation/log';
|
|
3
|
-
import { createAztecNodeClient } from '@aztec/stdlib/interfaces/client';
|
|
4
|
-
|
|
5
|
-
import { getPXEServiceConfig } from '../config/index.js';
|
|
6
|
-
import { createPXEService } from '../entrypoints/server/utils.js';
|
|
7
|
-
import { startPXEHttpServer } from '../pxe_http/index.js';
|
|
8
|
-
|
|
9
|
-
const { PXE_PORT = 8080, AZTEC_NODE_URL = 'http://localhost:8079' } = process.env;
|
|
10
|
-
|
|
11
|
-
const logger = createLogger('pxe:service');
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Create and start a new PXE HTTP Server
|
|
15
|
-
*/
|
|
16
|
-
async function main() {
|
|
17
|
-
logger.info(`Setting up PXE...`);
|
|
18
|
-
|
|
19
|
-
const pxeConfig = getPXEServiceConfig();
|
|
20
|
-
const nodeRpcClient = createAztecNodeClient(AZTEC_NODE_URL, {});
|
|
21
|
-
const pxeService = await createPXEService(nodeRpcClient, pxeConfig);
|
|
22
|
-
|
|
23
|
-
const shutdown = () => {
|
|
24
|
-
logger.info('Shutting down...');
|
|
25
|
-
process.exit(0);
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
process.once('SIGINT', shutdown);
|
|
29
|
-
process.once('SIGTERM', shutdown);
|
|
30
|
-
|
|
31
|
-
startPXEHttpServer(pxeService, PXE_PORT);
|
|
32
|
-
logger.info(`PXE listening on port ${PXE_PORT}`);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
main().catch(err => {
|
|
36
|
-
logger.error(err);
|
|
37
|
-
process.exit(1);
|
|
38
|
-
});
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { Logger } from '@aztec/foundation/log';
|
|
2
|
-
import type { PrivateKernelProver } from '@aztec/stdlib/interfaces/client';
|
|
3
|
-
|
|
4
|
-
export type PXECreationOptions = {
|
|
5
|
-
loggers: { store?: Logger; pxe?: Logger; prover?: Logger };
|
|
6
|
-
prover?: PrivateKernelProver;
|
|
7
|
-
};
|
|
@@ -1,351 +0,0 @@
|
|
|
1
|
-
import { CLIENT_IVC_VERIFICATION_KEY_LENGTH_IN_FIELDS, VK_TREE_HEIGHT } from '@aztec/constants';
|
|
2
|
-
import { vkAsFieldsMegaHonk } from '@aztec/foundation/crypto';
|
|
3
|
-
import { Fr } from '@aztec/foundation/fields';
|
|
4
|
-
import { createLogger } from '@aztec/foundation/log';
|
|
5
|
-
import { assertLength } from '@aztec/foundation/serialize';
|
|
6
|
-
import { pushTestData } from '@aztec/foundation/testing';
|
|
7
|
-
import { Timer } from '@aztec/foundation/timer';
|
|
8
|
-
import { getVKTreeRoot } from '@aztec/noir-protocol-circuits-types/vk-tree';
|
|
9
|
-
import { getProtocolContractLeafAndMembershipWitness, protocolContractTreeRoot } from '@aztec/protocol-contracts';
|
|
10
|
-
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
11
|
-
import { computeContractAddressFromInstance } from '@aztec/stdlib/contract';
|
|
12
|
-
import { hashVK } from '@aztec/stdlib/hash';
|
|
13
|
-
import type { PrivateKernelProver } from '@aztec/stdlib/interfaces/client';
|
|
14
|
-
import {
|
|
15
|
-
PrivateCallData,
|
|
16
|
-
PrivateKernelCircuitPublicInputs,
|
|
17
|
-
PrivateKernelData,
|
|
18
|
-
PrivateKernelInitCircuitPrivateInputs,
|
|
19
|
-
PrivateKernelInnerCircuitPrivateInputs,
|
|
20
|
-
type PrivateKernelSimulateOutput,
|
|
21
|
-
PrivateKernelTailCircuitPrivateInputs,
|
|
22
|
-
type PrivateKernelTailCircuitPublicInputs,
|
|
23
|
-
PrivateVerificationKeyHints,
|
|
24
|
-
} from '@aztec/stdlib/kernel';
|
|
25
|
-
import { ClientIvcProof } from '@aztec/stdlib/proofs';
|
|
26
|
-
import {
|
|
27
|
-
type PrivateCallExecutionResult,
|
|
28
|
-
type PrivateExecutionResult,
|
|
29
|
-
TxRequest,
|
|
30
|
-
collectEnqueuedPublicFunctionCalls,
|
|
31
|
-
collectNoteHashLeafIndexMap,
|
|
32
|
-
collectNoteHashNullifierCounterMap,
|
|
33
|
-
collectPublicTeardownFunctionCall,
|
|
34
|
-
getFinalMinRevertibleSideEffectCounter,
|
|
35
|
-
} from '@aztec/stdlib/tx';
|
|
36
|
-
import { VerificationKeyAsFields } from '@aztec/stdlib/vks';
|
|
37
|
-
|
|
38
|
-
import type { WitnessMap } from '@noir-lang/types';
|
|
39
|
-
|
|
40
|
-
import { PrivateKernelResetPrivateInputsBuilder } from './hints/build_private_kernel_reset_private_inputs.js';
|
|
41
|
-
import type { ProvingDataOracle } from './proving_data_oracle.js';
|
|
42
|
-
|
|
43
|
-
const NULL_PROVE_OUTPUT: PrivateKernelSimulateOutput<PrivateKernelCircuitPublicInputs> = {
|
|
44
|
-
publicInputs: PrivateKernelCircuitPublicInputs.empty(),
|
|
45
|
-
verificationKey: VerificationKeyAsFields.makeEmpty(CLIENT_IVC_VERIFICATION_KEY_LENGTH_IN_FIELDS),
|
|
46
|
-
outputWitness: new Map(),
|
|
47
|
-
bytecode: Buffer.from([]),
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
export type ProvingConfig = {
|
|
51
|
-
simulate: boolean;
|
|
52
|
-
skipFeeEnforcement: boolean;
|
|
53
|
-
profile: boolean;
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* The KernelProver class is responsible for generating kernel proofs.
|
|
58
|
-
* It takes a transaction request, its signature, and the simulation result as inputs, and outputs a proof
|
|
59
|
-
* along with output notes. The class interacts with a ProvingDataOracle to fetch membership witnesses and
|
|
60
|
-
* constructs private call data based on the execution results.
|
|
61
|
-
*/
|
|
62
|
-
export class KernelProver {
|
|
63
|
-
private log = createLogger('pxe:kernel-prover');
|
|
64
|
-
|
|
65
|
-
constructor(
|
|
66
|
-
private oracle: ProvingDataOracle,
|
|
67
|
-
private proofCreator: PrivateKernelProver,
|
|
68
|
-
private fakeProofs = false,
|
|
69
|
-
) {}
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* Generate a proof for a given transaction request and execution result.
|
|
73
|
-
* The function iterates through the nested executions in the execution result, creates private call data,
|
|
74
|
-
* and generates a proof using the provided ProofCreator instance. It also maintains an index of new notes
|
|
75
|
-
* created during the execution and returns them as a part of the KernelProverOutput.
|
|
76
|
-
*
|
|
77
|
-
* @param txRequest - The authenticated transaction request object.
|
|
78
|
-
* @param executionResult - The execution result object containing nested executions and preimages.
|
|
79
|
-
* @param profile - Set true to profile the gate count for each circuit
|
|
80
|
-
* @returns A Promise that resolves to a KernelProverOutput object containing proof, public inputs, and output notes.
|
|
81
|
-
* TODO(#7368) this should be refactored to not recreate the ACIR bytecode now that it operates on a program stack
|
|
82
|
-
*/
|
|
83
|
-
async prove(
|
|
84
|
-
txRequest: TxRequest,
|
|
85
|
-
executionResult: PrivateExecutionResult,
|
|
86
|
-
{ simulate, skipFeeEnforcement, profile }: ProvingConfig = {
|
|
87
|
-
simulate: false,
|
|
88
|
-
skipFeeEnforcement: false,
|
|
89
|
-
profile: false,
|
|
90
|
-
},
|
|
91
|
-
): Promise<PrivateKernelSimulateOutput<PrivateKernelTailCircuitPublicInputs>> {
|
|
92
|
-
const skipProofGeneration = this.fakeProofs || simulate;
|
|
93
|
-
const generateWitnesses = !skipProofGeneration || profile;
|
|
94
|
-
|
|
95
|
-
const timer = new Timer();
|
|
96
|
-
|
|
97
|
-
const isPrivateOnlyTx = this.isPrivateOnly(executionResult);
|
|
98
|
-
|
|
99
|
-
const executionStack = [executionResult.entrypoint];
|
|
100
|
-
let firstIteration = true;
|
|
101
|
-
|
|
102
|
-
let output = NULL_PROVE_OUTPUT;
|
|
103
|
-
|
|
104
|
-
const gateCounts: { circuitName: string; gateCount: number }[] = [];
|
|
105
|
-
const addGateCount = async (circuitName: string, bytecode: Buffer) => {
|
|
106
|
-
const gateCount = (await this.proofCreator.computeGateCountForCircuit(bytecode, circuitName)) as number;
|
|
107
|
-
gateCounts.push({ circuitName, gateCount });
|
|
108
|
-
|
|
109
|
-
this.log.debug(`Gate count for ${circuitName} - ${gateCount}`);
|
|
110
|
-
};
|
|
111
|
-
|
|
112
|
-
const noteHashLeafIndexMap = collectNoteHashLeafIndexMap(executionResult);
|
|
113
|
-
const noteHashNullifierCounterMap = collectNoteHashNullifierCounterMap(executionResult);
|
|
114
|
-
const enqueuedPublicFunctions = collectEnqueuedPublicFunctionCalls(executionResult);
|
|
115
|
-
const hasPublicCalls =
|
|
116
|
-
enqueuedPublicFunctions.length > 0 || !collectPublicTeardownFunctionCall(executionResult).isEmpty();
|
|
117
|
-
const validationRequestsSplitCounter = hasPublicCalls ? getFinalMinRevertibleSideEffectCounter(executionResult) : 0;
|
|
118
|
-
// vector of gzipped bincode acirs
|
|
119
|
-
const acirs: Buffer[] = [];
|
|
120
|
-
const witnessStack: WitnessMap[] = [];
|
|
121
|
-
|
|
122
|
-
while (executionStack.length) {
|
|
123
|
-
if (!firstIteration) {
|
|
124
|
-
let resetBuilder = new PrivateKernelResetPrivateInputsBuilder(
|
|
125
|
-
output,
|
|
126
|
-
executionStack,
|
|
127
|
-
noteHashNullifierCounterMap,
|
|
128
|
-
validationRequestsSplitCounter,
|
|
129
|
-
);
|
|
130
|
-
while (resetBuilder.needsReset()) {
|
|
131
|
-
const privateInputs = await resetBuilder.build(this.oracle, noteHashLeafIndexMap);
|
|
132
|
-
output = generateWitnesses
|
|
133
|
-
? await this.proofCreator.generateResetOutput(privateInputs)
|
|
134
|
-
: await this.proofCreator.simulateReset(privateInputs);
|
|
135
|
-
// TODO(#7368) consider refactoring this redundant bytecode pushing
|
|
136
|
-
acirs.push(output.bytecode);
|
|
137
|
-
witnessStack.push(output.outputWitness);
|
|
138
|
-
if (profile) {
|
|
139
|
-
await addGateCount('private_kernel_reset', output.bytecode);
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
resetBuilder = new PrivateKernelResetPrivateInputsBuilder(
|
|
143
|
-
output,
|
|
144
|
-
executionStack,
|
|
145
|
-
noteHashNullifierCounterMap,
|
|
146
|
-
validationRequestsSplitCounter,
|
|
147
|
-
);
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
const currentExecution = executionStack.pop()!;
|
|
152
|
-
|
|
153
|
-
executionStack.push(...[...currentExecution.nestedExecutions].reverse());
|
|
154
|
-
|
|
155
|
-
const functionName = await this.oracle.getDebugFunctionName(
|
|
156
|
-
currentExecution.publicInputs.callContext.contractAddress,
|
|
157
|
-
currentExecution.publicInputs.callContext.functionSelector,
|
|
158
|
-
);
|
|
159
|
-
|
|
160
|
-
// TODO(#7368): This used to be associated with getDebugFunctionName
|
|
161
|
-
// TODO(#7368): Is there any way to use this with client IVC proving?
|
|
162
|
-
acirs.push(currentExecution.acir);
|
|
163
|
-
witnessStack.push(currentExecution.partialWitness);
|
|
164
|
-
if (profile) {
|
|
165
|
-
await addGateCount(functionName as string, currentExecution.acir);
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
const privateCallData = await this.createPrivateCallData(currentExecution);
|
|
169
|
-
|
|
170
|
-
if (firstIteration) {
|
|
171
|
-
const proofInput = new PrivateKernelInitCircuitPrivateInputs(
|
|
172
|
-
txRequest,
|
|
173
|
-
getVKTreeRoot(),
|
|
174
|
-
protocolContractTreeRoot,
|
|
175
|
-
privateCallData,
|
|
176
|
-
isPrivateOnlyTx,
|
|
177
|
-
executionResult.firstNullifier,
|
|
178
|
-
);
|
|
179
|
-
this.log.debug(
|
|
180
|
-
`Calling private kernel init with isPrivateOnly ${isPrivateOnlyTx} and firstNullifierHint ${proofInput.firstNullifierHint}`,
|
|
181
|
-
);
|
|
182
|
-
|
|
183
|
-
pushTestData('private-kernel-inputs-init', proofInput);
|
|
184
|
-
|
|
185
|
-
output = generateWitnesses
|
|
186
|
-
? await this.proofCreator.generateInitOutput(proofInput)
|
|
187
|
-
: await this.proofCreator.simulateInit(proofInput);
|
|
188
|
-
|
|
189
|
-
acirs.push(output.bytecode);
|
|
190
|
-
witnessStack.push(output.outputWitness);
|
|
191
|
-
if (profile) {
|
|
192
|
-
await addGateCount('private_kernel_init', output.bytecode);
|
|
193
|
-
}
|
|
194
|
-
} else {
|
|
195
|
-
const previousVkMembershipWitness = await this.oracle.getVkMembershipWitness(output.verificationKey);
|
|
196
|
-
const previousKernelData = new PrivateKernelData(
|
|
197
|
-
output.publicInputs,
|
|
198
|
-
output.verificationKey,
|
|
199
|
-
Number(previousVkMembershipWitness.leafIndex),
|
|
200
|
-
assertLength<Fr, typeof VK_TREE_HEIGHT>(previousVkMembershipWitness.siblingPath, VK_TREE_HEIGHT),
|
|
201
|
-
);
|
|
202
|
-
const proofInput = new PrivateKernelInnerCircuitPrivateInputs(previousKernelData, privateCallData);
|
|
203
|
-
|
|
204
|
-
pushTestData('private-kernel-inputs-inner', proofInput);
|
|
205
|
-
|
|
206
|
-
output = generateWitnesses
|
|
207
|
-
? await this.proofCreator.generateInnerOutput(proofInput)
|
|
208
|
-
: await this.proofCreator.simulateInner(proofInput);
|
|
209
|
-
|
|
210
|
-
acirs.push(output.bytecode);
|
|
211
|
-
witnessStack.push(output.outputWitness);
|
|
212
|
-
if (profile) {
|
|
213
|
-
await addGateCount('private_kernel_inner', output.bytecode);
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
firstIteration = false;
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
// Reset.
|
|
220
|
-
let resetBuilder = new PrivateKernelResetPrivateInputsBuilder(
|
|
221
|
-
output,
|
|
222
|
-
[],
|
|
223
|
-
noteHashNullifierCounterMap,
|
|
224
|
-
validationRequestsSplitCounter,
|
|
225
|
-
);
|
|
226
|
-
while (resetBuilder.needsReset()) {
|
|
227
|
-
const privateInputs = await resetBuilder.build(this.oracle, noteHashLeafIndexMap);
|
|
228
|
-
output = generateWitnesses
|
|
229
|
-
? await this.proofCreator.generateResetOutput(privateInputs)
|
|
230
|
-
: await this.proofCreator.simulateReset(privateInputs);
|
|
231
|
-
|
|
232
|
-
acirs.push(output.bytecode);
|
|
233
|
-
witnessStack.push(output.outputWitness);
|
|
234
|
-
if (profile) {
|
|
235
|
-
await addGateCount('private_kernel_reset', output.bytecode);
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
resetBuilder = new PrivateKernelResetPrivateInputsBuilder(
|
|
239
|
-
output,
|
|
240
|
-
[],
|
|
241
|
-
noteHashNullifierCounterMap,
|
|
242
|
-
validationRequestsSplitCounter,
|
|
243
|
-
);
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
if (output.publicInputs.feePayer.isZero() && skipFeeEnforcement) {
|
|
247
|
-
if (!skipProofGeneration) {
|
|
248
|
-
throw new Error('Fee payment must be enforced when creating real proof.');
|
|
249
|
-
}
|
|
250
|
-
output.publicInputs.feePayer = new AztecAddress(Fr.MAX_FIELD_VALUE);
|
|
251
|
-
}
|
|
252
|
-
// Private tail.
|
|
253
|
-
const previousVkMembershipWitness = await this.oracle.getVkMembershipWitness(output.verificationKey);
|
|
254
|
-
const previousKernelData = new PrivateKernelData(
|
|
255
|
-
output.publicInputs,
|
|
256
|
-
output.verificationKey,
|
|
257
|
-
Number(previousVkMembershipWitness.leafIndex),
|
|
258
|
-
assertLength<Fr, typeof VK_TREE_HEIGHT>(previousVkMembershipWitness.siblingPath, VK_TREE_HEIGHT),
|
|
259
|
-
);
|
|
260
|
-
|
|
261
|
-
this.log.debug(
|
|
262
|
-
`Calling private kernel tail with hwm ${previousKernelData.publicInputs.minRevertibleSideEffectCounter}`,
|
|
263
|
-
);
|
|
264
|
-
|
|
265
|
-
const privateInputs = new PrivateKernelTailCircuitPrivateInputs(previousKernelData);
|
|
266
|
-
|
|
267
|
-
pushTestData('private-kernel-inputs-ordering', privateInputs);
|
|
268
|
-
|
|
269
|
-
const tailOutput = generateWitnesses
|
|
270
|
-
? await this.proofCreator.generateTailOutput(privateInputs)
|
|
271
|
-
: await this.proofCreator.simulateTail(privateInputs);
|
|
272
|
-
|
|
273
|
-
acirs.push(tailOutput.bytecode);
|
|
274
|
-
witnessStack.push(tailOutput.outputWitness);
|
|
275
|
-
if (profile) {
|
|
276
|
-
await addGateCount('private_kernel_tail', tailOutput.bytecode);
|
|
277
|
-
tailOutput.profileResult = { gateCounts };
|
|
278
|
-
}
|
|
279
|
-
|
|
280
|
-
if (generateWitnesses) {
|
|
281
|
-
this.log.info(`Private kernel witness generation took ${timer.ms()}ms`);
|
|
282
|
-
}
|
|
283
|
-
|
|
284
|
-
// TODO(#7368) how do we 'bincode' encode these inputs?
|
|
285
|
-
if (!skipProofGeneration) {
|
|
286
|
-
const ivcProof = await this.proofCreator.createClientIvcProof(acirs, witnessStack);
|
|
287
|
-
tailOutput.clientIvcProof = ivcProof;
|
|
288
|
-
} else {
|
|
289
|
-
tailOutput.clientIvcProof = ClientIvcProof.random();
|
|
290
|
-
}
|
|
291
|
-
|
|
292
|
-
return tailOutput;
|
|
293
|
-
}
|
|
294
|
-
|
|
295
|
-
private async createPrivateCallData({ publicInputs, vk: vkAsBuffer }: PrivateCallExecutionResult) {
|
|
296
|
-
const { contractAddress, functionSelector } = publicInputs.callContext;
|
|
297
|
-
|
|
298
|
-
const vkAsFields = await vkAsFieldsMegaHonk(vkAsBuffer);
|
|
299
|
-
const vk = new VerificationKeyAsFields(vkAsFields, await hashVK(vkAsFields));
|
|
300
|
-
|
|
301
|
-
const { currentContractClassId, publicKeys, saltedInitializationHash } =
|
|
302
|
-
await this.oracle.getContractAddressPreimage(contractAddress);
|
|
303
|
-
const functionLeafMembershipWitness = await this.oracle.getFunctionMembershipWitness(
|
|
304
|
-
currentContractClassId,
|
|
305
|
-
functionSelector,
|
|
306
|
-
);
|
|
307
|
-
|
|
308
|
-
const { artifactHash: contractClassArtifactHash, publicBytecodeCommitment: contractClassPublicBytecodeCommitment } =
|
|
309
|
-
await this.oracle.getContractClassIdPreimage(currentContractClassId);
|
|
310
|
-
|
|
311
|
-
// This will be the address computed in the kernel by the executed class. We need to provide non membership of it in the protocol contract tree.
|
|
312
|
-
// This would only be equal to contractAddress if the currentClassId is equal to the original class id (no update happened).
|
|
313
|
-
const computedAddress = await computeContractAddressFromInstance({
|
|
314
|
-
originalContractClassId: currentContractClassId,
|
|
315
|
-
saltedInitializationHash,
|
|
316
|
-
publicKeys,
|
|
317
|
-
});
|
|
318
|
-
|
|
319
|
-
const { lowLeaf: protocolContractLeaf, witness: protocolContractMembershipWitness } =
|
|
320
|
-
await getProtocolContractLeafAndMembershipWitness(contractAddress, computedAddress);
|
|
321
|
-
|
|
322
|
-
const updatedClassIdHints = await this.oracle.getUpdatedClassIdHints(contractAddress);
|
|
323
|
-
return PrivateCallData.from({
|
|
324
|
-
publicInputs,
|
|
325
|
-
vk,
|
|
326
|
-
verificationKeyHints: PrivateVerificationKeyHints.from({
|
|
327
|
-
publicKeys,
|
|
328
|
-
contractClassArtifactHash,
|
|
329
|
-
contractClassPublicBytecodeCommitment,
|
|
330
|
-
saltedInitializationHash,
|
|
331
|
-
functionLeafMembershipWitness,
|
|
332
|
-
protocolContractMembershipWitness,
|
|
333
|
-
protocolContractLeaf,
|
|
334
|
-
updatedClassIdHints,
|
|
335
|
-
}),
|
|
336
|
-
});
|
|
337
|
-
}
|
|
338
|
-
|
|
339
|
-
private isPrivateOnly(executionResult: PrivateExecutionResult): boolean {
|
|
340
|
-
const isPrivateOnlyRecursive = (callResult: PrivateCallExecutionResult): boolean => {
|
|
341
|
-
const makesPublicCalls =
|
|
342
|
-
callResult.enqueuedPublicFunctionCalls.some(enqueuedCall => !enqueuedCall.isEmpty()) ||
|
|
343
|
-
!callResult.publicTeardownFunctionCall.isEmpty();
|
|
344
|
-
return (
|
|
345
|
-
!makesPublicCalls &&
|
|
346
|
-
callResult.nestedExecutions.every(nestedExecution => isPrivateOnlyRecursive(nestedExecution))
|
|
347
|
-
);
|
|
348
|
-
};
|
|
349
|
-
return isPrivateOnlyRecursive(executionResult.entrypoint);
|
|
350
|
-
}
|
|
351
|
-
}
|