@aztec/pxe 0.0.1-commit.24de95ac → 0.0.1-commit.3469e52
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/bin/check_oracle_version.d.ts +1 -1
- package/dest/bin/check_oracle_version.js +105 -15
- package/dest/block_synchronizer/block_synchronizer.d.ts +41 -0
- package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -0
- package/dest/{synchronizer/synchronizer.js → block_synchronizer/block_synchronizer.js} +36 -30
- package/dest/block_synchronizer/index.d.ts +2 -0
- package/dest/block_synchronizer/index.d.ts.map +1 -0
- package/dest/block_synchronizer/index.js +1 -0
- package/dest/config/index.d.ts +4 -12
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +7 -13
- package/dest/config/package_info.d.ts +1 -1
- package/dest/config/package_info.js +1 -1
- package/dest/contract_function_simulator/benchmarked_node.d.ts +9 -0
- package/dest/contract_function_simulator/benchmarked_node.d.ts.map +1 -0
- package/dest/contract_function_simulator/benchmarked_node.js +77 -0
- package/dest/contract_function_simulator/contract_function_simulator.d.ts +44 -16
- package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
- package/dest/contract_function_simulator/contract_function_simulator.js +80 -37
- package/dest/contract_function_simulator/execution_note_cache.d.ts +25 -14
- package/dest/contract_function_simulator/execution_note_cache.d.ts.map +1 -1
- package/dest/contract_function_simulator/execution_note_cache.js +59 -34
- package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts +2 -2
- package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts.map +1 -1
- package/dest/contract_function_simulator/execution_tagging_index_cache.js +1 -1
- package/dest/contract_function_simulator/hashed_values_cache.d.ts +2 -2
- package/dest/contract_function_simulator/hashed_values_cache.d.ts.map +1 -1
- package/dest/contract_function_simulator/index.d.ts +2 -2
- package/dest/contract_function_simulator/index.d.ts.map +1 -1
- package/dest/contract_function_simulator/index.js +1 -1
- package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts +4 -3
- package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts.map +1 -1
- package/dest/contract_function_simulator/noir-structs/event_validation_request.js +5 -2
- package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts +5 -4
- package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts.map +1 -1
- package/dest/contract_function_simulator/noir-structs/log_retrieval_request.js +7 -6
- package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts +3 -3
- package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts.map +1 -1
- package/dest/contract_function_simulator/noir-structs/log_retrieval_response.js +1 -1
- package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts +6 -4
- package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts.map +1 -1
- package/dest/contract_function_simulator/noir-structs/note_validation_request.js +12 -3
- package/dest/contract_function_simulator/noir-structs/utility_context.d.ts +4 -10
- package/dest/contract_function_simulator/noir-structs/utility_context.d.ts.map +1 -1
- package/dest/contract_function_simulator/noir-structs/utility_context.js +7 -18
- package/dest/contract_function_simulator/oracle/index.d.ts +1 -1
- package/dest/contract_function_simulator/oracle/interfaces.d.ts +22 -15
- package/dest/contract_function_simulator/oracle/interfaces.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts +2 -2
- package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.js +1 -1
- package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts +14 -8
- package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/note_packing_utils.js +16 -11
- package/dest/contract_function_simulator/oracle/oracle.d.ts +10 -9
- package/dest/contract_function_simulator/oracle/oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/oracle.js +51 -33
- package/dest/contract_function_simulator/oracle/private_execution.d.ts +10 -15
- package/dest/contract_function_simulator/oracle/private_execution.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/private_execution.js +19 -18
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +29 -33
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/private_execution_oracle.js +46 -48
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +65 -22
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +163 -54
- package/dest/contract_function_simulator/pick_notes.d.ts +2 -2
- package/dest/contract_function_simulator/pick_notes.d.ts.map +1 -1
- package/dest/contract_function_simulator/pick_notes.js +1 -1
- package/dest/contract_function_simulator/proxied_contract_data_source.d.ts +4 -4
- package/dest/contract_function_simulator/proxied_contract_data_source.d.ts.map +1 -1
- package/dest/contract_function_simulator/proxied_contract_data_source.js +23 -5
- package/dest/debug/pxe_debug_utils.d.ts +31 -0
- package/dest/debug/pxe_debug_utils.d.ts.map +1 -0
- package/dest/debug/pxe_debug_utils.js +37 -0
- package/dest/entrypoints/client/bundle/index.d.ts +1 -2
- package/dest/entrypoints/client/bundle/index.d.ts.map +1 -1
- package/dest/entrypoints/client/bundle/index.js +0 -1
- package/dest/entrypoints/client/bundle/utils.d.ts +1 -1
- package/dest/entrypoints/client/bundle/utils.d.ts.map +1 -1
- package/dest/entrypoints/client/bundle/utils.js +13 -4
- package/dest/entrypoints/client/lazy/index.d.ts +1 -2
- package/dest/entrypoints/client/lazy/index.d.ts.map +1 -1
- package/dest/entrypoints/client/lazy/index.js +0 -1
- package/dest/entrypoints/client/lazy/utils.d.ts +1 -1
- package/dest/entrypoints/client/lazy/utils.d.ts.map +1 -1
- package/dest/entrypoints/client/lazy/utils.js +13 -4
- package/dest/entrypoints/pxe_creation_options.d.ts +5 -2
- package/dest/entrypoints/pxe_creation_options.d.ts.map +1 -1
- package/dest/entrypoints/server/index.d.ts +3 -2
- package/dest/entrypoints/server/index.d.ts.map +1 -1
- package/dest/entrypoints/server/index.js +2 -1
- package/dest/entrypoints/server/utils.d.ts +1 -1
- package/dest/entrypoints/server/utils.d.ts.map +1 -1
- package/dest/entrypoints/server/utils.js +13 -20
- package/dest/error_enriching.d.ts +4 -4
- package/dest/error_enriching.d.ts.map +1 -1
- package/dest/error_enriching.js +6 -6
- package/dest/events/event_service.d.ts +16 -0
- package/dest/events/event_service.d.ts.map +1 -0
- package/dest/events/event_service.js +45 -0
- package/dest/events/index.d.ts +2 -0
- package/dest/events/index.d.ts.map +1 -0
- package/dest/events/index.js +1 -0
- package/dest/events/private_event_filter_validator.d.ts +9 -0
- package/dest/events/private_event_filter_validator.d.ts.map +1 -0
- package/dest/events/private_event_filter_validator.js +38 -0
- package/dest/job_coordinator/job_coordinator.d.ts +74 -0
- package/dest/job_coordinator/job_coordinator.d.ts.map +1 -0
- package/dest/job_coordinator/job_coordinator.js +93 -0
- package/dest/logs/log_service.d.ts +27 -0
- package/dest/logs/log_service.d.ts.map +1 -0
- package/dest/logs/log_service.js +122 -0
- package/dest/notes/index.d.ts +2 -0
- package/dest/notes/index.d.ts.map +1 -0
- package/dest/notes/index.js +1 -0
- package/dest/notes/note_service.d.ts +48 -0
- package/dest/notes/note_service.d.ts.map +1 -0
- package/dest/notes/note_service.js +147 -0
- package/dest/oracle_version.d.ts +3 -3
- package/dest/oracle_version.js +2 -2
- package/dest/private_kernel/hints/compute_tx_include_by_timestamp.d.ts +1 -1
- package/dest/private_kernel/hints/index.d.ts +2 -2
- package/dest/private_kernel/hints/index.d.ts.map +1 -1
- package/dest/private_kernel/hints/index.js +1 -1
- package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts +28 -0
- package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts.map +1 -0
- package/dest/private_kernel/hints/{build_private_kernel_reset_private_inputs.js → private_kernel_reset_private_inputs_builder.js} +19 -13
- package/dest/private_kernel/index.d.ts +1 -1
- package/dest/private_kernel/private_kernel_execution_prover.d.ts +1 -1
- package/dest/private_kernel/private_kernel_execution_prover.d.ts.map +1 -1
- package/dest/private_kernel/private_kernel_execution_prover.js +15 -15
- package/dest/private_kernel/private_kernel_oracle.d.ts +26 -29
- package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -1
- package/dest/private_kernel/private_kernel_oracle.js +90 -2
- package/dest/pxe.d.ts +54 -83
- package/dest/pxe.d.ts.map +1 -1
- package/dest/pxe.js +189 -240
- package/dest/storage/address_store/address_store.d.ts +11 -0
- package/dest/storage/address_store/address_store.d.ts.map +1 -0
- package/dest/storage/{address_data_provider/address_data_provider.js → address_store/address_store.js} +1 -1
- package/dest/storage/address_store/index.d.ts +2 -0
- package/dest/storage/address_store/index.d.ts.map +1 -0
- package/dest/storage/address_store/index.js +1 -0
- package/dest/storage/anchor_block_store/anchor_block_store.d.ts +9 -0
- package/dest/storage/anchor_block_store/anchor_block_store.d.ts.map +1 -0
- package/dest/storage/{sync_data_provider/sync_data_provider.js → anchor_block_store/anchor_block_store.js} +2 -9
- package/dest/storage/anchor_block_store/index.d.ts +2 -0
- package/dest/storage/anchor_block_store/index.d.ts.map +1 -0
- package/dest/storage/anchor_block_store/index.js +1 -0
- package/dest/storage/capsule_store/capsule_store.d.ts +72 -0
- package/dest/storage/capsule_store/capsule_store.d.ts.map +1 -0
- package/dest/storage/capsule_store/capsule_store.js +255 -0
- package/dest/storage/capsule_store/index.d.ts +2 -0
- package/dest/storage/capsule_store/index.d.ts.map +1 -0
- package/dest/storage/capsule_store/index.js +1 -0
- package/dest/storage/{contract_data_provider/contract_data_provider.d.ts → contract_store/contract_store.d.ts} +8 -15
- package/dest/storage/contract_store/contract_store.d.ts.map +1 -0
- package/dest/storage/{contract_data_provider/contract_data_provider.js → contract_store/contract_store.js} +46 -15
- package/dest/storage/contract_store/index.d.ts +2 -0
- package/dest/storage/contract_store/index.d.ts.map +1 -0
- package/dest/storage/contract_store/index.js +1 -0
- package/dest/storage/{contract_data_provider → contract_store}/private_functions_tree.d.ts +1 -1
- package/dest/storage/contract_store/private_functions_tree.d.ts.map +1 -0
- package/dest/storage/{contract_data_provider → contract_store}/private_functions_tree.js +1 -1
- package/dest/storage/index.d.ts +8 -8
- package/dest/storage/index.d.ts.map +1 -1
- package/dest/storage/index.js +7 -7
- package/dest/storage/metadata.d.ts +1 -1
- package/dest/storage/note_store/index.d.ts +3 -0
- package/dest/storage/note_store/index.d.ts.map +1 -0
- package/dest/storage/note_store/index.js +2 -0
- package/dest/storage/{note_data_provider/note_data_provider.d.ts → note_store/note_store.d.ts} +19 -17
- package/dest/storage/note_store/note_store.d.ts.map +1 -0
- package/dest/storage/{note_data_provider/note_data_provider.js → note_store/note_store.js} +115 -106
- package/dest/storage/private_event_store/private_event_store.d.ts +78 -0
- package/dest/storage/private_event_store/private_event_store.d.ts.map +1 -0
- package/dest/storage/private_event_store/private_event_store.js +222 -0
- package/dest/storage/tagging_store/index.d.ts +4 -0
- package/dest/storage/tagging_store/index.d.ts.map +1 -0
- package/dest/storage/tagging_store/index.js +3 -0
- package/dest/storage/tagging_store/recipient_tagging_store.d.ts +28 -0
- package/dest/storage/tagging_store/recipient_tagging_store.d.ts.map +1 -0
- package/dest/storage/tagging_store/recipient_tagging_store.js +99 -0
- package/dest/storage/tagging_store/sender_address_book_store.d.ts +14 -0
- package/dest/storage/tagging_store/sender_address_book_store.d.ts.map +1 -0
- package/dest/storage/tagging_store/sender_address_book_store.js +30 -0
- package/dest/storage/tagging_store/sender_tagging_store.d.ts +77 -0
- package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -0
- package/dest/storage/tagging_store/sender_tagging_store.js +278 -0
- package/dest/tagging/constants.d.ts +2 -2
- package/dest/tagging/constants.d.ts.map +1 -1
- package/dest/tagging/constants.js +10 -2
- package/dest/tagging/index.d.ts +15 -6
- package/dest/tagging/index.d.ts.map +1 -1
- package/dest/tagging/index.js +14 -5
- package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts +14 -0
- package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts.map +1 -0
- package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.js +99 -0
- package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts +12 -0
- package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts.map +1 -0
- package/dest/tagging/recipient_sync/utils/find_highest_indexes.js +20 -0
- package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts +14 -0
- package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts.map +1 -0
- package/dest/tagging/recipient_sync/utils/load_logs_for_range.js +29 -0
- package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts +20 -0
- package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts.map +1 -0
- package/dest/tagging/sender_sync/sync_sender_tagging_indexes.js +74 -0
- package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts +11 -0
- package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts.map +1 -0
- package/dest/tagging/sender_sync/utils/get_status_change_of_pending.js +32 -0
- package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts +20 -0
- package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts.map +1 -0
- package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.js +57 -0
- package/dest/tree_membership/tree_membership_service.d.ts +50 -0
- package/dest/tree_membership/tree_membership_service.d.ts.map +1 -0
- package/dest/tree_membership/tree_membership_service.js +75 -0
- package/package.json +20 -19
- package/src/bin/check_oracle_version.ts +130 -20
- package/src/{synchronizer/synchronizer.ts → block_synchronizer/block_synchronizer.ts} +45 -30
- package/src/block_synchronizer/index.ts +1 -0
- package/src/config/index.ts +10 -25
- package/src/config/package_info.ts +1 -1
- package/src/contract_function_simulator/benchmarked_node.ts +103 -0
- package/src/contract_function_simulator/contract_function_simulator.ts +132 -39
- package/src/contract_function_simulator/execution_note_cache.ts +58 -28
- package/src/contract_function_simulator/execution_tagging_index_cache.ts +1 -1
- package/src/contract_function_simulator/hashed_values_cache.ts +1 -1
- package/src/contract_function_simulator/index.ts +1 -1
- package/src/contract_function_simulator/noir-structs/event_validation_request.ts +5 -1
- package/src/contract_function_simulator/noir-structs/log_retrieval_request.ts +6 -5
- package/src/contract_function_simulator/noir-structs/log_retrieval_response.ts +2 -2
- package/src/contract_function_simulator/noir-structs/note_validation_request.ts +14 -2
- package/src/contract_function_simulator/noir-structs/utility_context.ts +6 -25
- package/src/contract_function_simulator/oracle/interfaces.ts +29 -13
- package/src/contract_function_simulator/oracle/message_load_oracle_inputs.ts +1 -1
- package/src/contract_function_simulator/oracle/note_packing_utils.ts +30 -14
- package/src/contract_function_simulator/oracle/oracle.ts +62 -30
- package/src/contract_function_simulator/oracle/private_execution.ts +22 -29
- package/src/contract_function_simulator/oracle/private_execution_oracle.ts +111 -59
- package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +238 -56
- package/src/contract_function_simulator/pick_notes.ts +1 -1
- package/src/contract_function_simulator/proxied_contract_data_source.ts +24 -7
- package/src/debug/pxe_debug_utils.ts +48 -0
- package/src/entrypoints/client/bundle/index.ts +0 -1
- package/src/entrypoints/client/bundle/utils.ts +10 -4
- package/src/entrypoints/client/lazy/index.ts +0 -1
- package/src/entrypoints/client/lazy/utils.ts +10 -5
- package/src/entrypoints/pxe_creation_options.ts +4 -1
- package/src/entrypoints/server/index.ts +2 -1
- package/src/entrypoints/server/utils.ts +13 -31
- package/src/error_enriching.ts +7 -15
- package/src/events/event_service.ts +73 -0
- package/src/events/index.ts +1 -0
- package/src/events/private_event_filter_validator.ts +46 -0
- package/src/job_coordinator/job_coordinator.ts +149 -0
- package/src/logs/log_service.ts +204 -0
- package/src/notes/index.ts +1 -0
- package/src/notes/note_service.ts +194 -0
- package/src/oracle_version.ts +2 -2
- package/src/private_kernel/hints/index.ts +1 -1
- package/src/private_kernel/hints/{build_private_kernel_reset_private_inputs.ts → private_kernel_reset_private_inputs_builder.ts} +38 -31
- package/src/private_kernel/private_kernel_execution_prover.ts +15 -21
- package/src/private_kernel/private_kernel_oracle.ts +118 -37
- package/src/pxe.ts +238 -312
- package/src/storage/{address_data_provider/address_data_provider.ts → address_store/address_store.ts} +1 -1
- package/src/storage/address_store/index.ts +1 -0
- package/src/storage/{sync_data_provider/sync_data_provider.ts → anchor_block_store/anchor_block_store.ts} +2 -11
- package/src/storage/anchor_block_store/index.ts +1 -0
- package/src/storage/capsule_store/capsule_store.ts +315 -0
- package/src/storage/capsule_store/index.ts +1 -0
- package/src/storage/{contract_data_provider/contract_data_provider.ts → contract_store/contract_store.ts} +65 -20
- package/src/storage/contract_store/index.ts +1 -0
- package/src/storage/{contract_data_provider → contract_store}/private_functions_tree.ts +1 -1
- package/src/storage/index.ts +7 -7
- package/src/storage/note_store/index.ts +2 -0
- package/src/storage/{note_data_provider/note_data_provider.ts → note_store/note_store.ts} +131 -109
- package/src/storage/private_event_store/private_event_store.ts +324 -0
- package/src/storage/tagging_store/index.ts +3 -0
- package/src/storage/tagging_store/recipient_tagging_store.ts +129 -0
- package/src/storage/tagging_store/sender_address_book_store.ts +42 -0
- package/src/storage/tagging_store/sender_tagging_store.ts +345 -0
- package/src/tagging/constants.ts +10 -2
- package/src/tagging/index.ts +17 -5
- package/src/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.ts +133 -0
- package/src/tagging/recipient_sync/utils/find_highest_indexes.ts +34 -0
- package/src/tagging/recipient_sync/utils/load_logs_for_range.ts +43 -0
- package/src/tagging/sender_sync/sync_sender_tagging_indexes.ts +97 -0
- package/src/tagging/sender_sync/utils/get_status_change_of_pending.ts +48 -0
- package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +75 -0
- package/src/tree_membership/tree_membership_service.ts +97 -0
- package/dest/contract_function_simulator/execution_data_provider.d.ts +0 -274
- package/dest/contract_function_simulator/execution_data_provider.d.ts.map +0 -1
- package/dest/contract_function_simulator/execution_data_provider.js +0 -14
- package/dest/contract_function_simulator/proxied_node.d.ts +0 -9
- package/dest/contract_function_simulator/proxied_node.d.ts.map +0 -1
- package/dest/contract_function_simulator/proxied_node.js +0 -27
- package/dest/contract_function_simulator/pxe_oracle_interface.d.ts +0 -122
- package/dest/contract_function_simulator/pxe_oracle_interface.d.ts.map +0 -1
- package/dest/contract_function_simulator/pxe_oracle_interface.js +0 -701
- package/dest/private_kernel/hints/build_private_kernel_reset_private_inputs.d.ts +0 -28
- package/dest/private_kernel/hints/build_private_kernel_reset_private_inputs.d.ts.map +0 -1
- package/dest/private_kernel/private_kernel_oracle_impl.d.ts +0 -45
- package/dest/private_kernel/private_kernel_oracle_impl.d.ts.map +0 -1
- package/dest/private_kernel/private_kernel_oracle_impl.js +0 -86
- package/dest/storage/address_data_provider/address_data_provider.d.ts +0 -11
- package/dest/storage/address_data_provider/address_data_provider.d.ts.map +0 -1
- package/dest/storage/address_data_provider/index.d.ts +0 -2
- package/dest/storage/address_data_provider/index.d.ts.map +0 -1
- package/dest/storage/address_data_provider/index.js +0 -1
- package/dest/storage/capsule_data_provider/capsule_data_provider.d.ts +0 -25
- package/dest/storage/capsule_data_provider/capsule_data_provider.d.ts.map +0 -1
- package/dest/storage/capsule_data_provider/capsule_data_provider.js +0 -118
- package/dest/storage/capsule_data_provider/index.d.ts +0 -2
- package/dest/storage/capsule_data_provider/index.d.ts.map +0 -1
- package/dest/storage/capsule_data_provider/index.js +0 -1
- package/dest/storage/contract_data_provider/contract_data_provider.d.ts.map +0 -1
- package/dest/storage/contract_data_provider/index.d.ts +0 -2
- package/dest/storage/contract_data_provider/index.d.ts.map +0 -1
- package/dest/storage/contract_data_provider/index.js +0 -1
- package/dest/storage/contract_data_provider/private_functions_tree.d.ts.map +0 -1
- package/dest/storage/note_data_provider/index.d.ts +0 -3
- package/dest/storage/note_data_provider/index.d.ts.map +0 -1
- package/dest/storage/note_data_provider/index.js +0 -2
- package/dest/storage/note_data_provider/note_dao.d.ts +0 -100
- package/dest/storage/note_data_provider/note_dao.d.ts.map +0 -1
- package/dest/storage/note_data_provider/note_dao.js +0 -102
- package/dest/storage/note_data_provider/note_data_provider.d.ts.map +0 -1
- package/dest/storage/private_event_data_provider/private_event_data_provider.d.ts +0 -43
- package/dest/storage/private_event_data_provider/private_event_data_provider.d.ts.map +0 -1
- package/dest/storage/private_event_data_provider/private_event_data_provider.js +0 -104
- package/dest/storage/sync_data_provider/index.d.ts +0 -2
- package/dest/storage/sync_data_provider/index.d.ts.map +0 -1
- package/dest/storage/sync_data_provider/index.js +0 -1
- package/dest/storage/sync_data_provider/sync_data_provider.d.ts +0 -10
- package/dest/storage/sync_data_provider/sync_data_provider.d.ts.map +0 -1
- package/dest/storage/tagging_data_provider/index.d.ts +0 -2
- package/dest/storage/tagging_data_provider/index.d.ts.map +0 -1
- package/dest/storage/tagging_data_provider/index.js +0 -1
- package/dest/storage/tagging_data_provider/tagging_data_provider.d.ts +0 -40
- package/dest/storage/tagging_data_provider/tagging_data_provider.d.ts.map +0 -1
- package/dest/storage/tagging_data_provider/tagging_data_provider.js +0 -89
- package/dest/synchronizer/index.d.ts +0 -2
- package/dest/synchronizer/index.d.ts.map +0 -1
- package/dest/synchronizer/index.js +0 -1
- package/dest/synchronizer/synchronizer.d.ts +0 -35
- package/dest/synchronizer/synchronizer.d.ts.map +0 -1
- package/dest/tagging/siloed_tag.d.ts +0 -14
- package/dest/tagging/siloed_tag.d.ts.map +0 -1
- package/dest/tagging/siloed_tag.js +0 -20
- package/dest/tagging/tag.d.ts +0 -12
- package/dest/tagging/tag.d.ts.map +0 -1
- package/dest/tagging/tag.js +0 -17
- package/dest/tagging/utils.d.ts +0 -18
- package/dest/tagging/utils.d.ts.map +0 -1
- package/dest/tagging/utils.js +0 -24
- package/src/contract_function_simulator/execution_data_provider.ts +0 -343
- package/src/contract_function_simulator/proxied_node.ts +0 -33
- package/src/contract_function_simulator/pxe_oracle_interface.ts +0 -1019
- package/src/private_kernel/private_kernel_oracle_impl.ts +0 -132
- package/src/storage/address_data_provider/index.ts +0 -1
- package/src/storage/capsule_data_provider/capsule_data_provider.ts +0 -147
- package/src/storage/capsule_data_provider/index.ts +0 -1
- package/src/storage/contract_data_provider/index.ts +0 -1
- package/src/storage/note_data_provider/index.ts +0 -2
- package/src/storage/note_data_provider/note_dao.ts +0 -154
- package/src/storage/private_event_data_provider/private_event_data_provider.ts +0 -148
- package/src/storage/sync_data_provider/index.ts +0 -1
- package/src/storage/tagging_data_provider/index.ts +0 -1
- package/src/storage/tagging_data_provider/tagging_data_provider.ts +0 -120
- package/src/synchronizer/index.ts +0 -1
- package/src/tagging/siloed_tag.ts +0 -22
- package/src/tagging/tag.ts +0 -16
- package/src/tagging/utils.ts +0 -31
|
@@ -1,47 +1,54 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type { Fr } from '@aztec/foundation/fields';
|
|
1
|
+
import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
2
|
import { toArray } from '@aztec/foundation/iterable';
|
|
4
3
|
import type { AztecAsyncKVStore, AztecAsyncMap, AztecAsyncMultiMap } from '@aztec/kv-store';
|
|
5
4
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
6
|
-
import type {
|
|
5
|
+
import type { DataInBlock } from '@aztec/stdlib/block';
|
|
7
6
|
import { NoteStatus, type NotesFilter } from '@aztec/stdlib/note';
|
|
8
|
-
|
|
9
|
-
import { NoteDao } from './note_dao.js';
|
|
7
|
+
import { NoteDao } from '@aztec/stdlib/note';
|
|
10
8
|
|
|
11
9
|
/**
|
|
12
|
-
*
|
|
10
|
+
* NoteStore manages the storage and retrieval of notes.
|
|
13
11
|
*
|
|
14
12
|
* Notes can be active or nullified. This class processes new notes, nullifications,
|
|
15
13
|
* and performs rollback handling in the case of a reorg.
|
|
16
14
|
**/
|
|
17
|
-
export class
|
|
15
|
+
export class NoteStore {
|
|
18
16
|
#store: AztecAsyncKVStore;
|
|
17
|
+
|
|
18
|
+
// Note that we use the siloedNullifier as the note id in the store as it's guaranteed to be unique.
|
|
19
|
+
|
|
20
|
+
/** noteId (siloedNullifier) -> NoteDao (serialized) */
|
|
19
21
|
#notes: AztecAsyncMap<string, Buffer>;
|
|
22
|
+
/** noteId (siloedNullifier) -> NoteDao (serialized) */
|
|
20
23
|
#nullifiedNotes: AztecAsyncMap<string, Buffer>;
|
|
21
|
-
|
|
24
|
+
/** blockNumber -> siloedNullifier */
|
|
22
25
|
#nullifiersByBlockNumber: AztecAsyncMultiMap<number, string>;
|
|
23
26
|
|
|
27
|
+
/** noteId (siloedNullifier) -> scope */
|
|
24
28
|
#nullifiedNotesToScope: AztecAsyncMultiMap<string, string>;
|
|
29
|
+
/** contractAddress -> noteId (siloedNullifier) */
|
|
25
30
|
#nullifiedNotesByContract: AztecAsyncMultiMap<string, string>;
|
|
31
|
+
/** storageSlot -> noteId (siloedNullifier) */
|
|
26
32
|
#nullifiedNotesByStorageSlot: AztecAsyncMultiMap<string, string>;
|
|
27
|
-
#nullifiedNotesByNullifier: AztecAsyncMap<string, string>;
|
|
28
33
|
|
|
34
|
+
/** scope (AztecAddress) -> true */
|
|
29
35
|
#scopes: AztecAsyncMap<string, true>;
|
|
36
|
+
/** noteId (siloedNullifier) -> scope */
|
|
30
37
|
#notesToScope: AztecAsyncMultiMap<string, string>;
|
|
38
|
+
/** scope -> MultiMap(contractAddress -> noteId) */
|
|
31
39
|
#notesByContractAndScope: Map<string, AztecAsyncMultiMap<string, string>>;
|
|
40
|
+
/** scope -> MultiMap(storageSlot -> noteId) */
|
|
32
41
|
#notesByStorageSlotAndScope: Map<string, AztecAsyncMultiMap<string, string>>;
|
|
33
42
|
|
|
34
43
|
private constructor(store: AztecAsyncKVStore) {
|
|
35
44
|
this.#store = store;
|
|
36
45
|
this.#notes = store.openMap('notes');
|
|
37
46
|
this.#nullifiedNotes = store.openMap('nullified_notes');
|
|
38
|
-
this.#nullifierToNoteId = store.openMap('nullifier_to_note');
|
|
39
47
|
this.#nullifiersByBlockNumber = store.openMultiMap('nullifier_to_block_number');
|
|
40
48
|
|
|
41
49
|
this.#nullifiedNotesToScope = store.openMultiMap('nullified_notes_to_scope');
|
|
42
50
|
this.#nullifiedNotesByContract = store.openMultiMap('nullified_notes_by_contract');
|
|
43
51
|
this.#nullifiedNotesByStorageSlot = store.openMultiMap('nullified_notes_by_storage_slot');
|
|
44
|
-
this.#nullifiedNotesByNullifier = store.openMap('nullified_notes_by_nullifier');
|
|
45
52
|
|
|
46
53
|
this.#scopes = store.openMap('scopes');
|
|
47
54
|
this.#notesToScope = store.openMultiMap('notes_to_scope');
|
|
@@ -50,16 +57,16 @@ export class NoteDataProvider {
|
|
|
50
57
|
}
|
|
51
58
|
|
|
52
59
|
/**
|
|
53
|
-
* Creates and initializes a new
|
|
60
|
+
* Creates and initializes a new NoteStore instance.
|
|
54
61
|
*
|
|
55
|
-
* This factory method creates a
|
|
62
|
+
* This factory method creates a NoteStore and restores any existing
|
|
56
63
|
* scope-specific indexes from the database.
|
|
57
64
|
*
|
|
58
65
|
* @param store - The key-value store to use for persistence
|
|
59
|
-
* @returns Promise resolving to a fully initialized
|
|
66
|
+
* @returns Promise resolving to a fully initialized NoteStore instance
|
|
60
67
|
*/
|
|
61
|
-
public static async create(store: AztecAsyncKVStore): Promise<
|
|
62
|
-
const pxeDB = new
|
|
68
|
+
public static async create(store: AztecAsyncKVStore): Promise<NoteStore> {
|
|
69
|
+
const pxeDB = new NoteStore(store);
|
|
63
70
|
for await (const scope of pxeDB.#scopes.keysAsync()) {
|
|
64
71
|
pxeDB.#notesByContractAndScope.set(scope, store.openMultiMap(`${scope}:notes_by_contract`));
|
|
65
72
|
pxeDB.#notesByStorageSlotAndScope.set(scope, store.openMultiMap(`${scope}:notes_by_storage_slot`));
|
|
@@ -93,9 +100,8 @@ export class NoteDataProvider {
|
|
|
93
100
|
/**
|
|
94
101
|
* Adds multiple notes to the data provider under the specified scope.
|
|
95
102
|
*
|
|
96
|
-
* Notes are stored using their
|
|
97
|
-
*
|
|
98
|
-
* for efficient retrieval.
|
|
103
|
+
* Notes are stored using their siloedNullifier as the key, which provides uniqueness. Each note is indexed
|
|
104
|
+
* by multiple criteria for efficient retrieval.
|
|
99
105
|
*
|
|
100
106
|
* @param notes - Notes to store
|
|
101
107
|
* @param scope - The scope (user/account) under which to store the notes
|
|
@@ -107,13 +113,12 @@ export class NoteDataProvider {
|
|
|
107
113
|
}
|
|
108
114
|
|
|
109
115
|
for (const dao of notes) {
|
|
110
|
-
const
|
|
111
|
-
await this.#notes.set(
|
|
112
|
-
await this.#notesToScope.set(
|
|
113
|
-
await this.#nullifierToNoteId.set(dao.siloedNullifier.toString(), noteIndex);
|
|
116
|
+
const noteId = dao.siloedNullifier.toString();
|
|
117
|
+
await this.#notes.set(noteId, dao.toBuffer());
|
|
118
|
+
await this.#notesToScope.set(noteId, scope.toString());
|
|
114
119
|
|
|
115
|
-
await this.#notesByContractAndScope.get(scope.toString())!.set(dao.contractAddress.toString(),
|
|
116
|
-
await this.#notesByStorageSlotAndScope.get(scope.toString())!.set(dao.storageSlot.toString(),
|
|
120
|
+
await this.#notesByContractAndScope.get(scope.toString())!.set(dao.contractAddress.toString(), noteId);
|
|
121
|
+
await this.#notesByStorageSlotAndScope.get(scope.toString())!.set(dao.storageSlot.toString(), noteId);
|
|
117
122
|
}
|
|
118
123
|
});
|
|
119
124
|
}
|
|
@@ -125,10 +130,12 @@ export class NoteDataProvider {
|
|
|
125
130
|
* specified block number. It restores any notes that were nullified after the given block
|
|
126
131
|
* and deletes any active notes created after that block.
|
|
127
132
|
*
|
|
133
|
+
* IMPORTANT: This method must be called within a transaction to ensure atomicity.
|
|
134
|
+
*
|
|
128
135
|
* @param blockNumber - The new chain tip after a reorg
|
|
129
136
|
* @param synchedBlockNumber - The block number up to which PXE managed to sync before the reorg happened.
|
|
130
137
|
*/
|
|
131
|
-
public async
|
|
138
|
+
public async rollback(blockNumber: number, synchedBlockNumber: number): Promise<void> {
|
|
132
139
|
await this.#rewindNullifiersAfterBlock(blockNumber, synchedBlockNumber);
|
|
133
140
|
await this.#deleteActiveNotesAfterBlock(blockNumber);
|
|
134
141
|
}
|
|
@@ -141,24 +148,21 @@ export class NoteDataProvider {
|
|
|
141
148
|
*
|
|
142
149
|
* @param blockNumber - Notes created after this block number will be deleted
|
|
143
150
|
*/
|
|
144
|
-
#deleteActiveNotesAfterBlock(blockNumber: number): Promise<void> {
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
await this.#notesByContractAndScope.get(scope)!.deleteValue(noteDao.contractAddress.toString(), noteIndex);
|
|
157
|
-
await this.#notesByStorageSlotAndScope.get(scope)!.deleteValue(noteDao.storageSlot.toString(), noteIndex);
|
|
158
|
-
}
|
|
151
|
+
async #deleteActiveNotesAfterBlock(blockNumber: number): Promise<void> {
|
|
152
|
+
const notes = await toArray(this.#notes.valuesAsync());
|
|
153
|
+
for (const note of notes) {
|
|
154
|
+
const noteDao = NoteDao.fromBuffer(note);
|
|
155
|
+
if (noteDao.l2BlockNumber > blockNumber) {
|
|
156
|
+
const noteId = noteDao.siloedNullifier.toString();
|
|
157
|
+
await this.#notes.delete(noteId);
|
|
158
|
+
await this.#notesToScope.delete(noteId);
|
|
159
|
+
const scopes = await toArray(this.#scopes.keysAsync());
|
|
160
|
+
for (const scope of scopes) {
|
|
161
|
+
await this.#notesByContractAndScope.get(scope)!.deleteValue(noteDao.contractAddress.toString(), noteId);
|
|
162
|
+
await this.#notesByStorageSlotAndScope.get(scope)!.deleteValue(noteDao.storageSlot.toString(), noteId);
|
|
159
163
|
}
|
|
160
164
|
}
|
|
161
|
-
}
|
|
165
|
+
}
|
|
162
166
|
}
|
|
163
167
|
|
|
164
168
|
/**
|
|
@@ -172,48 +176,47 @@ export class NoteDataProvider {
|
|
|
172
176
|
* @param synchedBlockNumber - Upper bound for the block range to process
|
|
173
177
|
*/
|
|
174
178
|
async #rewindNullifiersAfterBlock(blockNumber: number, synchedBlockNumber: number): Promise<void> {
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
);
|
|
188
|
-
const noteDaos = nullifiedNoteBuffers
|
|
189
|
-
.filter(buffer => buffer != undefined)
|
|
190
|
-
.map(buffer => NoteDao.fromBuffer(buffer!));
|
|
191
|
-
|
|
192
|
-
for (const dao of noteDaos) {
|
|
193
|
-
const noteIndex = toBufferBE(dao.index, 32).toString('hex');
|
|
194
|
-
await this.#notes.set(noteIndex, dao.toBuffer());
|
|
195
|
-
await this.#nullifierToNoteId.set(dao.siloedNullifier.toString(), noteIndex);
|
|
179
|
+
const noteIdsToReinsert: string[] = [];
|
|
180
|
+
const currentBlockNumber = blockNumber + 1;
|
|
181
|
+
for (let i = currentBlockNumber; i <= synchedBlockNumber; i++) {
|
|
182
|
+
// noteId === siloedNullifier.toString(), so we can use nullifiers directly as noteIds
|
|
183
|
+
noteIdsToReinsert.push(...(await toArray(this.#nullifiersByBlockNumber.getValuesAsync(i))));
|
|
184
|
+
}
|
|
185
|
+
const nullifiedNoteBuffers = await Promise.all(
|
|
186
|
+
noteIdsToReinsert.map(noteId => this.#nullifiedNotes.getAsync(noteId)),
|
|
187
|
+
);
|
|
188
|
+
const noteDaos = nullifiedNoteBuffers
|
|
189
|
+
.filter(buffer => buffer != undefined)
|
|
190
|
+
.map(buffer => NoteDao.fromBuffer(buffer!));
|
|
196
191
|
|
|
197
|
-
|
|
192
|
+
for (const dao of noteDaos) {
|
|
193
|
+
const noteId = dao.siloedNullifier.toString();
|
|
198
194
|
|
|
199
|
-
|
|
200
|
-
scopes = [dao.recipient.toString()];
|
|
201
|
-
}
|
|
195
|
+
const scopes = await toArray(this.#nullifiedNotesToScope.getValuesAsync(noteId));
|
|
202
196
|
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
197
|
+
if (scopes.length === 0) {
|
|
198
|
+
// We should never run into this error because notes always have a scope assigned to them - either on initial
|
|
199
|
+
// insertion via `addNotes` or when removing their nullifiers.
|
|
200
|
+
throw new Error(`No scopes found for nullified note with nullifier ${noteId}`);
|
|
201
|
+
}
|
|
208
202
|
|
|
209
|
-
|
|
210
|
-
await
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
203
|
+
for (const scope of scopes) {
|
|
204
|
+
await Promise.all([
|
|
205
|
+
this.#notesByContractAndScope.get(scope.toString())!.set(dao.contractAddress.toString(), noteId),
|
|
206
|
+
this.#notesByStorageSlotAndScope.get(scope.toString())!.set(dao.storageSlot.toString(), noteId),
|
|
207
|
+
this.#notesToScope.set(noteId, scope),
|
|
208
|
+
]);
|
|
215
209
|
}
|
|
216
|
-
|
|
210
|
+
|
|
211
|
+
await Promise.all([
|
|
212
|
+
this.#notes.set(noteId, dao.toBuffer()),
|
|
213
|
+
this.#nullifiedNotes.delete(noteId),
|
|
214
|
+
this.#nullifiedNotesToScope.delete(noteId),
|
|
215
|
+
this.#nullifiersByBlockNumber.deleteValue(dao.l2BlockNumber, dao.siloedNullifier.toString()),
|
|
216
|
+
this.#nullifiedNotesByContract.deleteValue(dao.contractAddress.toString(), noteId),
|
|
217
|
+
this.#nullifiedNotesByStorageSlot.deleteValue(dao.storageSlot.toString(), noteId),
|
|
218
|
+
]);
|
|
219
|
+
}
|
|
217
220
|
}
|
|
218
221
|
|
|
219
222
|
/**
|
|
@@ -223,8 +226,9 @@ export class NoteDataProvider {
|
|
|
223
226
|
* parameters.
|
|
224
227
|
*
|
|
225
228
|
* @param filter - Filter criteria including contractAddress (required), and optional
|
|
226
|
-
* storageSlot, status, scopes and siloedNullifier.
|
|
227
|
-
* @returns
|
|
229
|
+
* owner, storageSlot, status, scopes, and siloedNullifier.
|
|
230
|
+
* @returns Filtered and deduplicated notes (a note might be present in multiple scopes - we ensure it is only
|
|
231
|
+
* returned once if this is the case)
|
|
228
232
|
* @throws If filtering by an empty scopes array. Scopes have to be set to undefined or to a non-empty array.
|
|
229
233
|
*/
|
|
230
234
|
async getNotes(filter: NotesFilter): Promise<NoteDao[]> {
|
|
@@ -306,6 +310,10 @@ export class NoteDataProvider {
|
|
|
306
310
|
continue;
|
|
307
311
|
}
|
|
308
312
|
|
|
313
|
+
if (filter.owner && !note.owner.equals(filter.owner)) {
|
|
314
|
+
continue;
|
|
315
|
+
}
|
|
316
|
+
|
|
309
317
|
if (filter.storageSlot && !note.storageSlot.equals(filter.storageSlot!)) {
|
|
310
318
|
continue;
|
|
311
319
|
}
|
|
@@ -318,7 +326,26 @@ export class NoteDataProvider {
|
|
|
318
326
|
}
|
|
319
327
|
}
|
|
320
328
|
|
|
321
|
-
|
|
329
|
+
// A note might be present in multiple scopes - we ensure it is only returned once
|
|
330
|
+
const deduplicated: NoteDao[] = [];
|
|
331
|
+
for (const note of result) {
|
|
332
|
+
if (!deduplicated.some(existing => existing.equals(note))) {
|
|
333
|
+
deduplicated.push(note);
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
// Sort by block number, then by tx index within block, then by note index within tx
|
|
338
|
+
deduplicated.sort((a, b) => {
|
|
339
|
+
if (a.l2BlockNumber !== b.l2BlockNumber) {
|
|
340
|
+
return a.l2BlockNumber - b.l2BlockNumber;
|
|
341
|
+
}
|
|
342
|
+
if (a.txIndexInBlock !== b.txIndexInBlock) {
|
|
343
|
+
return a.txIndexInBlock - b.txIndexInBlock;
|
|
344
|
+
}
|
|
345
|
+
return a.noteIndexInTx - b.noteIndexInTx;
|
|
346
|
+
});
|
|
347
|
+
|
|
348
|
+
return deduplicated;
|
|
322
349
|
}
|
|
323
350
|
|
|
324
351
|
/**
|
|
@@ -332,7 +359,7 @@ export class NoteDataProvider {
|
|
|
332
359
|
* @returns Promise resolving to array of nullified NoteDao objects
|
|
333
360
|
* @throws Error if any nullifier is not found in the active notes
|
|
334
361
|
*/
|
|
335
|
-
applyNullifiers(nullifiers:
|
|
362
|
+
applyNullifiers(nullifiers: DataInBlock<Fr>[]): Promise<NoteDao[]> {
|
|
336
363
|
if (nullifiers.length === 0) {
|
|
337
364
|
return Promise.resolve([]);
|
|
338
365
|
}
|
|
@@ -342,50 +369,45 @@ export class NoteDataProvider {
|
|
|
342
369
|
|
|
343
370
|
for (const blockScopedNullifier of nullifiers) {
|
|
344
371
|
const { data: nullifier, l2BlockNumber: blockNumber } = blockScopedNullifier;
|
|
345
|
-
const
|
|
372
|
+
const noteId = nullifier.toString();
|
|
346
373
|
|
|
347
|
-
const
|
|
348
|
-
if (!
|
|
349
|
-
// Check if already nullified
|
|
350
|
-
|
|
351
|
-
if (alreadyNullified) {
|
|
374
|
+
const noteBuffer = await this.#notes.getAsync(noteId);
|
|
375
|
+
if (!noteBuffer) {
|
|
376
|
+
// Check if already nullified (noteId === siloedNullifier, so we can check #nullifiedNotes directly)
|
|
377
|
+
if (await this.#nullifiedNotes.hasAsync(noteId)) {
|
|
352
378
|
throw new Error(`Nullifier already applied in applyNullifiers`);
|
|
353
379
|
}
|
|
354
380
|
throw new Error('Nullifier not found in applyNullifiers');
|
|
355
381
|
}
|
|
356
382
|
|
|
357
|
-
const
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
383
|
+
const noteScopes = await toArray(this.#notesToScope.getValuesAsync(noteId));
|
|
384
|
+
if (noteScopes.length === 0) {
|
|
385
|
+
// We should never run into this error because notes always have a scope assigned to them - either on initial
|
|
386
|
+
// insertion via `addNotes` or when removing their nullifiers.
|
|
387
|
+
throw new Error('Note scopes are missing in applyNullifiers');
|
|
361
388
|
}
|
|
362
|
-
|
|
389
|
+
|
|
363
390
|
const note = NoteDao.fromBuffer(noteBuffer);
|
|
364
391
|
|
|
365
392
|
nullifiedNotes.push(note);
|
|
366
393
|
|
|
367
|
-
await this.#notes.delete(
|
|
368
|
-
await this.#notesToScope.delete(
|
|
394
|
+
await this.#notes.delete(noteId);
|
|
395
|
+
await this.#notesToScope.delete(noteId);
|
|
369
396
|
|
|
370
397
|
const scopes = await toArray(this.#scopes.keysAsync());
|
|
371
398
|
|
|
372
399
|
for (const scope of scopes) {
|
|
373
|
-
await this.#notesByContractAndScope.get(scope)!.deleteValue(note.contractAddress.toString(),
|
|
374
|
-
await this.#notesByStorageSlotAndScope.get(scope)!.deleteValue(note.storageSlot.toString(),
|
|
400
|
+
await this.#notesByContractAndScope.get(scope)!.deleteValue(note.contractAddress.toString(), noteId);
|
|
401
|
+
await this.#notesByStorageSlotAndScope.get(scope)!.deleteValue(note.storageSlot.toString(), noteId);
|
|
375
402
|
}
|
|
376
403
|
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
await this.#nullifiedNotesToScope.set(noteIndex, scope);
|
|
380
|
-
}
|
|
404
|
+
for (const scope of noteScopes) {
|
|
405
|
+
await this.#nullifiedNotesToScope.set(noteId, scope);
|
|
381
406
|
}
|
|
382
|
-
await this.#nullifiedNotes.set(
|
|
383
|
-
await this.#nullifiersByBlockNumber.set(blockNumber,
|
|
384
|
-
await this.#nullifiedNotesByContract.set(note.contractAddress.toString(),
|
|
385
|
-
await this.#nullifiedNotesByStorageSlot.set(note.storageSlot.toString(),
|
|
386
|
-
await this.#nullifiedNotesByNullifier.set(nullifier.toString(), noteIndex);
|
|
387
|
-
|
|
388
|
-
await this.#nullifierToNoteId.delete(nullifier.toString());
|
|
407
|
+
await this.#nullifiedNotes.set(noteId, note.toBuffer());
|
|
408
|
+
await this.#nullifiersByBlockNumber.set(blockNumber, noteId);
|
|
409
|
+
await this.#nullifiedNotesByContract.set(note.contractAddress.toString(), noteId);
|
|
410
|
+
await this.#nullifiedNotesByStorageSlot.set(note.storageSlot.toString(), noteId);
|
|
389
411
|
}
|
|
390
412
|
return nullifiedNotes;
|
|
391
413
|
});
|