@aztec/pxe 0.0.0-test.1 → 0.0.1-commit.0208eb9
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 +43 -0
- package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -0
- package/dest/block_synchronizer/block_synchronizer.js +147 -0
- package/dest/block_synchronizer/index.d.ts +2 -0
- package/dest/block_synchronizer/index.d.ts.map +1 -0
- package/dest/block_synchronizer/index.js +1 -0
- package/dest/config/index.d.ts +13 -24
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +35 -33
- 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 +82 -0
- package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -0
- package/dest/contract_function_simulator/contract_function_simulator.js +339 -0
- package/dest/contract_function_simulator/execution_note_cache.d.ts +104 -0
- package/dest/contract_function_simulator/execution_note_cache.d.ts.map +1 -0
- package/dest/contract_function_simulator/execution_note_cache.js +208 -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 +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 +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 +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 +19 -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 +60 -0
- package/dest/contract_function_simulator/oracle/oracle.d.ts.map +1 -0
- package/dest/contract_function_simulator/oracle/oracle.js +368 -0
- package/dest/contract_function_simulator/oracle/private_execution.d.ts +23 -0
- package/dest/contract_function_simulator/oracle/private_execution.d.ts.map +1 -0
- package/dest/contract_function_simulator/oracle/private_execution.js +87 -0
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +239 -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 +426 -0
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +208 -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 +367 -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_sync/index.d.ts +24 -0
- package/dest/contract_sync/index.d.ts.map +1 -0
- package/dest/contract_sync/index.js +61 -0
- package/dest/debug/pxe_debug_utils.d.ts +41 -0
- package/dest/debug/pxe_debug_utils.d.ts.map +1 -0
- package/dest/debug/pxe_debug_utils.js +47 -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 +33 -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 +10 -10
- package/dest/entrypoints/client/lazy/utils.d.ts.map +1 -1
- package/dest/entrypoints/client/lazy/utils.js +33 -12
- package/dest/entrypoints/pxe_creation_options.d.ts +18 -0
- package/dest/entrypoints/pxe_creation_options.d.ts.map +1 -0
- package/dest/entrypoints/server/index.d.ts +8 -4
- package/dest/entrypoints/server/index.d.ts.map +1 -1
- package/dest/entrypoints/server/index.js +6 -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 +46 -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 +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 +28 -0
- package/dest/logs/log_service.d.ts.map +1 -0
- package/dest/logs/log_service.js +123 -0
- package/dest/notes/index.d.ts +2 -0
- package/dest/notes/index.d.ts.map +1 -0
- package/dest/notes/index.js +1 -0
- package/dest/notes/note_service.d.ts +48 -0
- package/dest/notes/note_service.d.ts.map +1 -0
- package/dest/notes/note_service.js +147 -0
- package/dest/oracle_version.d.ts +3 -0
- package/dest/oracle_version.d.ts.map +1 -0
- package/dest/oracle_version.js +11 -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/private_kernel/hints/index.js +2 -0
- 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/private_kernel_reset_private_inputs_builder.js +277 -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 +45 -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 +59 -0
- package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -0
- package/dest/private_kernel/private_kernel_oracle.js +92 -0
- package/dest/pxe.d.ts +204 -0
- package/dest/pxe.d.ts.map +1 -0
- package/dest/pxe.js +742 -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/anchor_block_store/anchor_block_store.js +26 -0
- 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 +66 -0
- package/dest/storage/contract_store/contract_store.d.ts.map +1 -0
- package/dest/storage/contract_store/contract_store.js +233 -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 +83 -0
- package/dest/storage/note_store/note_store.d.ts.map +1 -0
- package/dest/storage/note_store/note_store.js +341 -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 +46 -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 +37 -34
- package/src/bin/check_oracle_version.ts +161 -0
- package/src/block_synchronizer/block_synchronizer.ts +172 -0
- package/src/block_synchronizer/index.ts +1 -0
- package/src/config/index.ts +41 -55
- 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 +633 -0
- package/src/contract_function_simulator/execution_note_cache.ts +252 -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 +23 -0
- package/src/contract_function_simulator/oracle/index.ts +16 -0
- package/src/contract_function_simulator/oracle/interfaces.ts +185 -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 +637 -0
- package/src/contract_function_simulator/oracle/private_execution.ts +141 -0
- package/src/contract_function_simulator/oracle/private_execution_oracle.ts +701 -0
- package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +544 -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_sync/index.ts +119 -0
- package/src/debug/pxe_debug_utils.ts +63 -0
- package/src/entrypoints/client/bundle/index.ts +3 -2
- package/src/entrypoints/client/bundle/utils.ts +35 -36
- package/src/entrypoints/client/lazy/index.ts +3 -2
- package/src/entrypoints/client/lazy/utils.ts +36 -32
- package/src/entrypoints/pxe_creation_options.ts +14 -0
- package/src/entrypoints/server/index.ts +7 -3
- package/src/entrypoints/server/utils.ts +52 -52
- package/src/{pxe_service/error_enriching.ts → error_enriching.ts} +40 -39
- 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 +220 -0
- package/src/notes/index.ts +1 -0
- package/src/notes/note_service.ts +195 -0
- package/src/oracle_version.ts +12 -0
- package/src/private_kernel/hints/compute_tx_include_by_timestamp.ts +58 -0
- package/src/private_kernel/hints/index.ts +2 -0
- package/src/{kernel_prover/hints/build_private_kernel_reset_private_inputs.ts → private_kernel/hints/private_kernel_reset_private_inputs_builder.ts} +179 -156
- package/src/private_kernel/index.ts +2 -0
- package/src/private_kernel/private_kernel_execution_prover.ts +433 -0
- package/src/private_kernel/private_kernel_oracle.ts +152 -0
- package/src/pxe.ts +1076 -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 +330 -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_store/note_store.ts +411 -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 +68 -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 -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_oracle/index.js +0 -76
- 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/hints/index.js +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/sync_data_provider/sync_data_provider.js +0 -29
- 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/synchronizer/synchronizer.js +0 -103
- 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_oracle/index.ts +0 -117
- package/src/kernel_prover/hints/index.ts +0 -1
- package/src/kernel_prover/index.ts +0 -2
- package/src/kernel_prover/kernel_prover.ts +0 -351
- package/src/kernel_prover/proving_data_oracle.ts +0 -83
- 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/note_data_provider/note_data_provider.ts +0 -345
- 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/synchronizer/synchronizer.ts +0 -121
- 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,103 +0,0 @@
|
|
|
1
|
-
import { INITIAL_L2_BLOCK_NUM } from '@aztec/constants';
|
|
2
|
-
import { createLogger } from '@aztec/foundation/log';
|
|
3
|
-
import { L2BlockStream } from '@aztec/stdlib/block';
|
|
4
|
-
/**
|
|
5
|
-
* The Synchronizer class manages the synchronization with the aztec node, allowing PXE to retrieve the
|
|
6
|
-
* latest block header and handle reorgs.
|
|
7
|
-
* It provides methods to trigger a sync and get the block number we are syncec to
|
|
8
|
-
* details, and fetch transactions by hash.
|
|
9
|
-
*/ export class Synchronizer {
|
|
10
|
-
node;
|
|
11
|
-
syncDataProvider;
|
|
12
|
-
noteDataProvider;
|
|
13
|
-
taggingDataProvider;
|
|
14
|
-
l2TipsStore;
|
|
15
|
-
initialSyncBlockNumber;
|
|
16
|
-
log;
|
|
17
|
-
isSyncing;
|
|
18
|
-
blockStream;
|
|
19
|
-
constructor(node, syncDataProvider, noteDataProvider, taggingDataProvider, l2TipsStore, config = {}, loggerOrSuffix){
|
|
20
|
-
this.node = node;
|
|
21
|
-
this.syncDataProvider = syncDataProvider;
|
|
22
|
-
this.noteDataProvider = noteDataProvider;
|
|
23
|
-
this.taggingDataProvider = taggingDataProvider;
|
|
24
|
-
this.l2TipsStore = l2TipsStore;
|
|
25
|
-
this.initialSyncBlockNumber = INITIAL_L2_BLOCK_NUM - 1;
|
|
26
|
-
this.log = !loggerOrSuffix || typeof loggerOrSuffix === 'string' ? createLogger(loggerOrSuffix ? `pxe:synchronizer:${loggerOrSuffix}` : `pxe:synchronizer`) : loggerOrSuffix;
|
|
27
|
-
this.blockStream = this.createBlockStream(config);
|
|
28
|
-
}
|
|
29
|
-
createBlockStream(config) {
|
|
30
|
-
return new L2BlockStream(this.node, this.l2TipsStore, this, createLogger('pxe:block_stream'), {
|
|
31
|
-
startingBlock: config.l2StartingBlock
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
/** Handle events emitted by the block stream. */ async handleBlockStreamEvent(event) {
|
|
35
|
-
await this.l2TipsStore.handleBlockStreamEvent(event);
|
|
36
|
-
switch(event.type){
|
|
37
|
-
case 'blocks-added':
|
|
38
|
-
{
|
|
39
|
-
const lastBlock = event.blocks.at(-1);
|
|
40
|
-
this.log.verbose(`Updated pxe last block to ${lastBlock.number}`, {
|
|
41
|
-
blockHash: lastBlock.hash(),
|
|
42
|
-
archive: lastBlock.archive.root.toString(),
|
|
43
|
-
header: lastBlock.header.toInspect()
|
|
44
|
-
});
|
|
45
|
-
await this.syncDataProvider.setHeader(lastBlock.header);
|
|
46
|
-
break;
|
|
47
|
-
}
|
|
48
|
-
case 'chain-pruned':
|
|
49
|
-
{
|
|
50
|
-
this.log.warn(`Pruning data after block ${event.blockNumber} due to reorg`);
|
|
51
|
-
// We first unnullify and then remove so that unnullified notes that were created after the block number end up deleted.
|
|
52
|
-
const lastSynchedBlockNumber = await this.syncDataProvider.getBlockNumber();
|
|
53
|
-
await this.noteDataProvider.unnullifyNotesAfter(event.blockNumber, lastSynchedBlockNumber);
|
|
54
|
-
await this.noteDataProvider.removeNotesAfter(event.blockNumber);
|
|
55
|
-
// Remove all note tagging indexes to force a full resync. This is suboptimal, but unless we track the
|
|
56
|
-
// block number in which each index is used it's all we can do.
|
|
57
|
-
await this.taggingDataProvider.resetNoteSyncData();
|
|
58
|
-
// Update the header to the last block.
|
|
59
|
-
const newHeader = await this.node.getBlockHeader(event.blockNumber);
|
|
60
|
-
if (!newHeader) {
|
|
61
|
-
this.log.error(`Block header not found for block number ${event.blockNumber} during chain prune`);
|
|
62
|
-
} else {
|
|
63
|
-
await this.syncDataProvider.setHeader(newHeader);
|
|
64
|
-
}
|
|
65
|
-
break;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Syncs PXE and the node by dowloading the metadata of the latest blocks, allowing simulations to use
|
|
71
|
-
* recent data (e.g. notes), and handling any reorgs that might have occurred.
|
|
72
|
-
*/ async sync() {
|
|
73
|
-
if (this.isSyncing !== undefined) {
|
|
74
|
-
this.log.debug(`Waiting for the ongoing sync to finish`);
|
|
75
|
-
await this.isSyncing;
|
|
76
|
-
return;
|
|
77
|
-
}
|
|
78
|
-
this.log.debug(`Syncing PXE with the node`);
|
|
79
|
-
const isSyncing = this.doSync();
|
|
80
|
-
this.isSyncing = isSyncing;
|
|
81
|
-
try {
|
|
82
|
-
await isSyncing;
|
|
83
|
-
} finally{
|
|
84
|
-
this.isSyncing = undefined;
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
async doSync() {
|
|
88
|
-
let currentHeader;
|
|
89
|
-
try {
|
|
90
|
-
currentHeader = await this.syncDataProvider.getBlockHeader();
|
|
91
|
-
} catch (e) {
|
|
92
|
-
this.log.debug('Header is not set, requesting from the node');
|
|
93
|
-
}
|
|
94
|
-
if (!currentHeader) {
|
|
95
|
-
// REFACTOR: We should know the header of the genesis block without having to request it from the node.
|
|
96
|
-
await this.syncDataProvider.setHeader(await this.node.getBlockHeader(0));
|
|
97
|
-
}
|
|
98
|
-
await this.blockStream.sync();
|
|
99
|
-
}
|
|
100
|
-
async getSynchedBlockNumber() {
|
|
101
|
-
return await this.syncDataProvider.getBlockNumber() ?? this.initialSyncBlockNumber;
|
|
102
|
-
}
|
|
103
|
-
}
|
|
@@ -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,117 +0,0 @@
|
|
|
1
|
-
import { type NOTE_HASH_TREE_HEIGHT, PUBLIC_DATA_TREE_HEIGHT, VK_TREE_HEIGHT } from '@aztec/constants';
|
|
2
|
-
import type { Fr, GrumpkinScalar, Point } from '@aztec/foundation/fields';
|
|
3
|
-
import { createLogger } from '@aztec/foundation/log';
|
|
4
|
-
import type { Tuple } from '@aztec/foundation/serialize';
|
|
5
|
-
import { MembershipWitness } from '@aztec/foundation/trees';
|
|
6
|
-
import type { KeyStore } from '@aztec/key-store';
|
|
7
|
-
import { getVKIndex, getVKSiblingPath } from '@aztec/noir-protocol-circuits-types/vk-tree';
|
|
8
|
-
import { ProtocolContractAddress } from '@aztec/protocol-contracts';
|
|
9
|
-
import type { FunctionSelector } from '@aztec/stdlib/abi';
|
|
10
|
-
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
11
|
-
import type { L2BlockNumber } from '@aztec/stdlib/block';
|
|
12
|
-
import { computeContractClassIdPreimage, computeSaltedInitializationHash } from '@aztec/stdlib/contract';
|
|
13
|
-
import { computePublicDataTreeLeafSlot } from '@aztec/stdlib/hash';
|
|
14
|
-
import type { AztecNode } from '@aztec/stdlib/interfaces/client';
|
|
15
|
-
import { UpdatedClassIdHints } from '@aztec/stdlib/kernel';
|
|
16
|
-
import { SharedMutableValues, SharedMutableValuesWithHash } from '@aztec/stdlib/shared-mutable';
|
|
17
|
-
import type { NullifierMembershipWitness } from '@aztec/stdlib/trees';
|
|
18
|
-
import type { VerificationKeyAsFields } from '@aztec/stdlib/vks';
|
|
19
|
-
|
|
20
|
-
import type { ContractDataProvider } from '../storage/contract_data_provider/contract_data_provider.js';
|
|
21
|
-
import type { ProvingDataOracle } from './../kernel_prover/proving_data_oracle.js';
|
|
22
|
-
|
|
23
|
-
// TODO: Block number should not be "latest".
|
|
24
|
-
// It should be fixed at the time the proof is being simulated. I.e., it should be the same as the value defined in the constant data.
|
|
25
|
-
/**
|
|
26
|
-
* A data oracle that provides information needed for simulating a transaction.
|
|
27
|
-
*/
|
|
28
|
-
export class KernelOracle implements ProvingDataOracle {
|
|
29
|
-
constructor(
|
|
30
|
-
private contractDataProvider: ContractDataProvider,
|
|
31
|
-
private keyStore: KeyStore,
|
|
32
|
-
private node: AztecNode,
|
|
33
|
-
private blockNumber: L2BlockNumber = 'latest',
|
|
34
|
-
private log = createLogger('pxe:kernel_oracle'),
|
|
35
|
-
) {}
|
|
36
|
-
|
|
37
|
-
public async getContractAddressPreimage(address: AztecAddress) {
|
|
38
|
-
const instance = await this.contractDataProvider.getContractInstance(address);
|
|
39
|
-
return {
|
|
40
|
-
saltedInitializationHash: await computeSaltedInitializationHash(instance),
|
|
41
|
-
...instance,
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
public async getContractClassIdPreimage(contractClassId: Fr) {
|
|
46
|
-
const contractClass = await this.contractDataProvider.getContractClass(contractClassId);
|
|
47
|
-
return computeContractClassIdPreimage(contractClass);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
public async getFunctionMembershipWitness(contractClassId: Fr, selector: FunctionSelector) {
|
|
51
|
-
return await this.contractDataProvider.getFunctionMembershipWitness(contractClassId, selector);
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
public getVkMembershipWitness(vk: VerificationKeyAsFields) {
|
|
55
|
-
const leafIndex = getVKIndex(vk);
|
|
56
|
-
return Promise.resolve(new MembershipWitness(VK_TREE_HEIGHT, BigInt(leafIndex), getVKSiblingPath(leafIndex)));
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
async getNoteHashMembershipWitness(leafIndex: bigint): Promise<MembershipWitness<typeof NOTE_HASH_TREE_HEIGHT>> {
|
|
60
|
-
const path = await this.node.getNoteHashSiblingPath(this.blockNumber, leafIndex);
|
|
61
|
-
return new MembershipWitness<typeof NOTE_HASH_TREE_HEIGHT>(
|
|
62
|
-
path.pathSize,
|
|
63
|
-
leafIndex,
|
|
64
|
-
path.toFields() as Tuple<Fr, typeof NOTE_HASH_TREE_HEIGHT>,
|
|
65
|
-
);
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
getNullifierMembershipWitness(nullifier: Fr): Promise<NullifierMembershipWitness | undefined> {
|
|
69
|
-
return this.node.getNullifierMembershipWitness(this.blockNumber, nullifier);
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
async getNoteHashTreeRoot(): Promise<Fr> {
|
|
73
|
-
const header = await this.node.getBlockHeader(this.blockNumber);
|
|
74
|
-
if (!header) {
|
|
75
|
-
throw new Error(`No block header found for block number ${this.blockNumber}`);
|
|
76
|
-
}
|
|
77
|
-
return header.state.partial.noteHashTree.root;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
public getMasterSecretKey(masterPublicKey: Point): Promise<GrumpkinScalar> {
|
|
81
|
-
return this.keyStore.getMasterSecretKey(masterPublicKey);
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
public getDebugFunctionName(contractAddress: AztecAddress, selector: FunctionSelector): Promise<string> {
|
|
85
|
-
return this.contractDataProvider.getDebugFunctionName(contractAddress, selector);
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
public async getUpdatedClassIdHints(contractAddress: AztecAddress): Promise<UpdatedClassIdHints> {
|
|
89
|
-
const { sharedMutableSlot, sharedMutableHashSlot } = await SharedMutableValuesWithHash.getContractUpdateSlots(
|
|
90
|
-
contractAddress,
|
|
91
|
-
);
|
|
92
|
-
|
|
93
|
-
const hashLeafSlot = await computePublicDataTreeLeafSlot(
|
|
94
|
-
ProtocolContractAddress.ContractInstanceDeployer,
|
|
95
|
-
sharedMutableHashSlot,
|
|
96
|
-
);
|
|
97
|
-
const updatedClassIdWitness = await this.node.getPublicDataTreeWitness(this.blockNumber, hashLeafSlot);
|
|
98
|
-
|
|
99
|
-
if (!updatedClassIdWitness) {
|
|
100
|
-
throw new Error(`No public data tree witness found for ${hashLeafSlot}`);
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
const readStorage = (storageSlot: Fr) =>
|
|
104
|
-
this.node.getPublicStorageAt(this.blockNumber, ProtocolContractAddress.ContractInstanceDeployer, storageSlot);
|
|
105
|
-
const sharedMutableValues = await SharedMutableValues.readFromTree(sharedMutableSlot, readStorage);
|
|
106
|
-
|
|
107
|
-
return new UpdatedClassIdHints(
|
|
108
|
-
new MembershipWitness(
|
|
109
|
-
PUBLIC_DATA_TREE_HEIGHT,
|
|
110
|
-
updatedClassIdWitness.index,
|
|
111
|
-
updatedClassIdWitness.siblingPath.toTuple(),
|
|
112
|
-
),
|
|
113
|
-
updatedClassIdWitness.leafPreimage,
|
|
114
|
-
sharedMutableValues,
|
|
115
|
-
);
|
|
116
|
-
}
|
|
117
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './build_private_kernel_reset_private_inputs.js';
|