@aztec/pxe 0.0.1-commit.d3ec352c → 0.0.1-commit.d431d1c
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.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} +35 -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 -4
- package/dest/config/index.d.ts.map +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 +42 -14
- package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
- package/dest/contract_function_simulator/contract_function_simulator.js +73 -29
- package/dest/contract_function_simulator/execution_note_cache.d.ts +21 -12
- package/dest/contract_function_simulator/execution_note_cache.d.ts.map +1 -1
- package/dest/contract_function_simulator/execution_note_cache.js +48 -31
- package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts +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 +2 -2
- 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 +2 -2
- package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts.map +1 -1
- 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/interfaces.d.ts +14 -13
- package/dest/contract_function_simulator/oracle/interfaces.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts +4 -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 +11 -7
- package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/note_packing_utils.js +14 -10
- package/dest/contract_function_simulator/oracle/oracle.d.ts +7 -7
- package/dest/contract_function_simulator/oracle/oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/oracle.js +40 -28
- package/dest/contract_function_simulator/oracle/private_execution.d.ts +10 -16
- 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 +25 -25
- package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/private_execution_oracle.js +29 -44
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +63 -21
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
- package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +162 -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 +12 -3
- 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 +12 -3
- 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 +12 -8
- 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 +2 -2
- package/dest/oracle_version.js +2 -2
- 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} +13 -7
- 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 +8 -9
- 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 +45 -81
- package/dest/pxe.d.ts.map +1 -1
- package/dest/pxe.js +182 -215
- 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/{sync_data_provider/sync_data_provider.d.ts → anchor_block_store/anchor_block_store.d.ts} +2 -4
- 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/{sync_data_provider → anchor_block_store}/index.d.ts +2 -2
- 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 -5
- 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 -3
- 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/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} +15 -13
- 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} +105 -102
- 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 +18 -18
- package/src/bin/check_oracle_version.ts +130 -20
- package/src/{synchronizer/synchronizer.ts → block_synchronizer/block_synchronizer.ts} +44 -30
- package/src/block_synchronizer/index.ts +1 -0
- package/src/config/index.ts +3 -3
- 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 +118 -30
- package/src/contract_function_simulator/execution_note_cache.ts +51 -29
- 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 +1 -1
- package/src/contract_function_simulator/noir-structs/note_validation_request.ts +1 -1
- package/src/contract_function_simulator/noir-structs/utility_context.ts +6 -25
- package/src/contract_function_simulator/oracle/interfaces.ts +13 -12
- package/src/contract_function_simulator/oracle/message_load_oracle_inputs.ts +1 -1
- package/src/contract_function_simulator/oracle/note_packing_utils.ts +27 -13
- package/src/contract_function_simulator/oracle/oracle.ts +48 -32
- package/src/contract_function_simulator/oracle/private_execution.ts +22 -30
- package/src/contract_function_simulator/oracle/private_execution_oracle.ts +97 -58
- package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +233 -63
- 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 +9 -3
- package/src/entrypoints/client/lazy/index.ts +0 -1
- package/src/entrypoints/client/lazy/utils.ts +9 -4
- package/src/entrypoints/pxe_creation_options.ts +4 -1
- package/src/entrypoints/server/index.ts +2 -1
- package/src/entrypoints/server/utils.ts +12 -16
- 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} +34 -23
- package/src/private_kernel/private_kernel_execution_prover.ts +7 -9
- package/src/private_kernel/private_kernel_oracle.ts +118 -37
- package/src/pxe.ts +233 -279
- 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 -12
- 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 -3
- 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} +117 -105
- 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 -267
- 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 -123
- package/dest/contract_function_simulator/pxe_oracle_interface.d.ts.map +0 -1
- package/dest/contract_function_simulator/pxe_oracle_interface.js +0 -696
- 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_data_provider.d.ts.map +0 -1
- package/dest/storage/private_event_data_provider/private_event_data_provider.d.ts +0 -37
- package/dest/storage/private_event_data_provider/private_event_data_provider.d.ts.map +0 -1
- package/dest/storage/private_event_data_provider/private_event_data_provider.js +0 -105
- 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.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 -36
- 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 -342
- package/src/contract_function_simulator/proxied_node.ts +0 -33
- package/src/contract_function_simulator/pxe_oracle_interface.ts +0 -1023
- 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/private_event_data_provider/private_event_data_provider.ts +0 -143
- 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,5 +1,4 @@
|
|
|
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';
|
|
@@ -8,39 +7,48 @@ import { NoteStatus, type NotesFilter } from '@aztec/stdlib/note';
|
|
|
8
7
|
import { NoteDao } from '@aztec/stdlib/note';
|
|
9
8
|
|
|
10
9
|
/**
|
|
11
|
-
*
|
|
10
|
+
* NoteStore manages the storage and retrieval of notes.
|
|
12
11
|
*
|
|
13
12
|
* Notes can be active or nullified. This class processes new notes, nullifications,
|
|
14
13
|
* and performs rollback handling in the case of a reorg.
|
|
15
14
|
**/
|
|
16
|
-
export class
|
|
15
|
+
export class NoteStore {
|
|
17
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) */
|
|
18
21
|
#notes: AztecAsyncMap<string, Buffer>;
|
|
22
|
+
/** noteId (siloedNullifier) -> NoteDao (serialized) */
|
|
19
23
|
#nullifiedNotes: AztecAsyncMap<string, Buffer>;
|
|
20
|
-
|
|
24
|
+
/** blockNumber -> siloedNullifier */
|
|
21
25
|
#nullifiersByBlockNumber: AztecAsyncMultiMap<number, string>;
|
|
22
26
|
|
|
27
|
+
/** noteId (siloedNullifier) -> scope */
|
|
23
28
|
#nullifiedNotesToScope: AztecAsyncMultiMap<string, string>;
|
|
29
|
+
/** contractAddress -> noteId (siloedNullifier) */
|
|
24
30
|
#nullifiedNotesByContract: AztecAsyncMultiMap<string, string>;
|
|
31
|
+
/** storageSlot -> noteId (siloedNullifier) */
|
|
25
32
|
#nullifiedNotesByStorageSlot: AztecAsyncMultiMap<string, string>;
|
|
26
|
-
#nullifiedNotesByNullifier: AztecAsyncMap<string, string>;
|
|
27
33
|
|
|
34
|
+
/** scope (AztecAddress) -> true */
|
|
28
35
|
#scopes: AztecAsyncMap<string, true>;
|
|
36
|
+
/** noteId (siloedNullifier) -> scope */
|
|
29
37
|
#notesToScope: AztecAsyncMultiMap<string, string>;
|
|
38
|
+
/** scope -> MultiMap(contractAddress -> noteId) */
|
|
30
39
|
#notesByContractAndScope: Map<string, AztecAsyncMultiMap<string, string>>;
|
|
40
|
+
/** scope -> MultiMap(storageSlot -> noteId) */
|
|
31
41
|
#notesByStorageSlotAndScope: Map<string, AztecAsyncMultiMap<string, string>>;
|
|
32
42
|
|
|
33
43
|
private constructor(store: AztecAsyncKVStore) {
|
|
34
44
|
this.#store = store;
|
|
35
45
|
this.#notes = store.openMap('notes');
|
|
36
46
|
this.#nullifiedNotes = store.openMap('nullified_notes');
|
|
37
|
-
this.#nullifierToNoteId = store.openMap('nullifier_to_note');
|
|
38
47
|
this.#nullifiersByBlockNumber = store.openMultiMap('nullifier_to_block_number');
|
|
39
48
|
|
|
40
49
|
this.#nullifiedNotesToScope = store.openMultiMap('nullified_notes_to_scope');
|
|
41
50
|
this.#nullifiedNotesByContract = store.openMultiMap('nullified_notes_by_contract');
|
|
42
51
|
this.#nullifiedNotesByStorageSlot = store.openMultiMap('nullified_notes_by_storage_slot');
|
|
43
|
-
this.#nullifiedNotesByNullifier = store.openMap('nullified_notes_by_nullifier');
|
|
44
52
|
|
|
45
53
|
this.#scopes = store.openMap('scopes');
|
|
46
54
|
this.#notesToScope = store.openMultiMap('notes_to_scope');
|
|
@@ -49,16 +57,16 @@ export class NoteDataProvider {
|
|
|
49
57
|
}
|
|
50
58
|
|
|
51
59
|
/**
|
|
52
|
-
* Creates and initializes a new
|
|
60
|
+
* Creates and initializes a new NoteStore instance.
|
|
53
61
|
*
|
|
54
|
-
* This factory method creates a
|
|
62
|
+
* This factory method creates a NoteStore and restores any existing
|
|
55
63
|
* scope-specific indexes from the database.
|
|
56
64
|
*
|
|
57
65
|
* @param store - The key-value store to use for persistence
|
|
58
|
-
* @returns Promise resolving to a fully initialized
|
|
66
|
+
* @returns Promise resolving to a fully initialized NoteStore instance
|
|
59
67
|
*/
|
|
60
|
-
public static async create(store: AztecAsyncKVStore): Promise<
|
|
61
|
-
const pxeDB = new
|
|
68
|
+
public static async create(store: AztecAsyncKVStore): Promise<NoteStore> {
|
|
69
|
+
const pxeDB = new NoteStore(store);
|
|
62
70
|
for await (const scope of pxeDB.#scopes.keysAsync()) {
|
|
63
71
|
pxeDB.#notesByContractAndScope.set(scope, store.openMultiMap(`${scope}:notes_by_contract`));
|
|
64
72
|
pxeDB.#notesByStorageSlotAndScope.set(scope, store.openMultiMap(`${scope}:notes_by_storage_slot`));
|
|
@@ -92,9 +100,8 @@ export class NoteDataProvider {
|
|
|
92
100
|
/**
|
|
93
101
|
* Adds multiple notes to the data provider under the specified scope.
|
|
94
102
|
*
|
|
95
|
-
* Notes are stored using their
|
|
96
|
-
*
|
|
97
|
-
* 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.
|
|
98
105
|
*
|
|
99
106
|
* @param notes - Notes to store
|
|
100
107
|
* @param scope - The scope (user/account) under which to store the notes
|
|
@@ -106,13 +113,12 @@ export class NoteDataProvider {
|
|
|
106
113
|
}
|
|
107
114
|
|
|
108
115
|
for (const dao of notes) {
|
|
109
|
-
const
|
|
110
|
-
await this.#notes.set(
|
|
111
|
-
await this.#notesToScope.set(
|
|
112
|
-
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());
|
|
113
119
|
|
|
114
|
-
await this.#notesByContractAndScope.get(scope.toString())!.set(dao.contractAddress.toString(),
|
|
115
|
-
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);
|
|
116
122
|
}
|
|
117
123
|
});
|
|
118
124
|
}
|
|
@@ -124,10 +130,12 @@ export class NoteDataProvider {
|
|
|
124
130
|
* specified block number. It restores any notes that were nullified after the given block
|
|
125
131
|
* and deletes any active notes created after that block.
|
|
126
132
|
*
|
|
133
|
+
* IMPORTANT: This method must be called within a transaction to ensure atomicity.
|
|
134
|
+
*
|
|
127
135
|
* @param blockNumber - The new chain tip after a reorg
|
|
128
136
|
* @param synchedBlockNumber - The block number up to which PXE managed to sync before the reorg happened.
|
|
129
137
|
*/
|
|
130
|
-
public async
|
|
138
|
+
public async rollback(blockNumber: number, synchedBlockNumber: number): Promise<void> {
|
|
131
139
|
await this.#rewindNullifiersAfterBlock(blockNumber, synchedBlockNumber);
|
|
132
140
|
await this.#deleteActiveNotesAfterBlock(blockNumber);
|
|
133
141
|
}
|
|
@@ -140,24 +148,21 @@ export class NoteDataProvider {
|
|
|
140
148
|
*
|
|
141
149
|
* @param blockNumber - Notes created after this block number will be deleted
|
|
142
150
|
*/
|
|
143
|
-
#deleteActiveNotesAfterBlock(blockNumber: number): Promise<void> {
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
await this.#notesByContractAndScope.get(scope)!.deleteValue(noteDao.contractAddress.toString(), noteIndex);
|
|
156
|
-
await this.#notesByStorageSlotAndScope.get(scope)!.deleteValue(noteDao.storageSlot.toString(), noteIndex);
|
|
157
|
-
}
|
|
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);
|
|
158
163
|
}
|
|
159
164
|
}
|
|
160
|
-
}
|
|
165
|
+
}
|
|
161
166
|
}
|
|
162
167
|
|
|
163
168
|
/**
|
|
@@ -171,50 +176,47 @@ export class NoteDataProvider {
|
|
|
171
176
|
* @param synchedBlockNumber - Upper bound for the block range to process
|
|
172
177
|
*/
|
|
173
178
|
async #rewindNullifiersAfterBlock(blockNumber: number, synchedBlockNumber: number): Promise<void> {
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
);
|
|
187
|
-
const noteDaos = nullifiedNoteBuffers
|
|
188
|
-
.filter(buffer => buffer != undefined)
|
|
189
|
-
.map(buffer => NoteDao.fromBuffer(buffer!));
|
|
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!));
|
|
190
191
|
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
await this.#notes.set(noteIndex, dao.toBuffer());
|
|
194
|
-
await this.#nullifierToNoteId.set(dao.siloedNullifier.toString(), noteIndex);
|
|
192
|
+
for (const dao of noteDaos) {
|
|
193
|
+
const noteId = dao.siloedNullifier.toString();
|
|
195
194
|
|
|
196
|
-
|
|
195
|
+
const scopes = await toArray(this.#nullifiedNotesToScope.getValuesAsync(noteId));
|
|
197
196
|
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
for (const scope of scopes) {
|
|
205
|
-
await this.#notesByContractAndScope.get(scope.toString())!.set(dao.contractAddress.toString(), noteIndex);
|
|
206
|
-
await this.#notesByStorageSlotAndScope.get(scope.toString())!.set(dao.storageSlot.toString(), noteIndex);
|
|
207
|
-
await this.#notesToScope.set(noteIndex, scope);
|
|
208
|
-
}
|
|
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
|
+
}
|
|
209
202
|
|
|
210
|
-
|
|
211
|
-
await
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
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
|
+
]);
|
|
216
209
|
}
|
|
217
|
-
|
|
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
|
+
}
|
|
218
220
|
}
|
|
219
221
|
|
|
220
222
|
/**
|
|
@@ -225,7 +227,8 @@ export class NoteDataProvider {
|
|
|
225
227
|
*
|
|
226
228
|
* @param filter - Filter criteria including contractAddress (required), and optional
|
|
227
229
|
* owner, storageSlot, status, scopes, and siloedNullifier.
|
|
228
|
-
* @returns
|
|
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)
|
|
229
232
|
* @throws If filtering by an empty scopes array. Scopes have to be set to undefined or to a non-empty array.
|
|
230
233
|
*/
|
|
231
234
|
async getNotes(filter: NotesFilter): Promise<NoteDao[]> {
|
|
@@ -323,7 +326,26 @@ export class NoteDataProvider {
|
|
|
323
326
|
}
|
|
324
327
|
}
|
|
325
328
|
|
|
326
|
-
|
|
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;
|
|
327
349
|
}
|
|
328
350
|
|
|
329
351
|
/**
|
|
@@ -347,25 +369,18 @@ export class NoteDataProvider {
|
|
|
347
369
|
|
|
348
370
|
for (const blockScopedNullifier of nullifiers) {
|
|
349
371
|
const { data: nullifier, l2BlockNumber: blockNumber } = blockScopedNullifier;
|
|
350
|
-
const
|
|
372
|
+
const noteId = nullifier.toString();
|
|
351
373
|
|
|
352
|
-
const
|
|
353
|
-
if (!
|
|
354
|
-
// Check if already nullified
|
|
355
|
-
|
|
356
|
-
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)) {
|
|
357
378
|
throw new Error(`Nullifier already applied in applyNullifiers`);
|
|
358
379
|
}
|
|
359
380
|
throw new Error('Nullifier not found in applyNullifiers');
|
|
360
381
|
}
|
|
361
382
|
|
|
362
|
-
const
|
|
363
|
-
|
|
364
|
-
if (!noteBuffer) {
|
|
365
|
-
throw new Error('Note not found in applyNullifiers');
|
|
366
|
-
}
|
|
367
|
-
|
|
368
|
-
const noteScopes = await toArray(this.#notesToScope.getValuesAsync(noteIndex));
|
|
383
|
+
const noteScopes = await toArray(this.#notesToScope.getValuesAsync(noteId));
|
|
369
384
|
if (noteScopes.length === 0) {
|
|
370
385
|
// We should never run into this error because notes always have a scope assigned to them - either on initial
|
|
371
386
|
// insertion via `addNotes` or when removing their nullifiers.
|
|
@@ -376,26 +391,23 @@ export class NoteDataProvider {
|
|
|
376
391
|
|
|
377
392
|
nullifiedNotes.push(note);
|
|
378
393
|
|
|
379
|
-
await this.#notes.delete(
|
|
380
|
-
await this.#notesToScope.delete(
|
|
394
|
+
await this.#notes.delete(noteId);
|
|
395
|
+
await this.#notesToScope.delete(noteId);
|
|
381
396
|
|
|
382
397
|
const scopes = await toArray(this.#scopes.keysAsync());
|
|
383
398
|
|
|
384
399
|
for (const scope of scopes) {
|
|
385
|
-
await this.#notesByContractAndScope.get(scope)!.deleteValue(note.contractAddress.toString(),
|
|
386
|
-
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);
|
|
387
402
|
}
|
|
388
403
|
|
|
389
404
|
for (const scope of noteScopes) {
|
|
390
|
-
await this.#nullifiedNotesToScope.set(
|
|
405
|
+
await this.#nullifiedNotesToScope.set(noteId, scope);
|
|
391
406
|
}
|
|
392
|
-
await this.#nullifiedNotes.set(
|
|
393
|
-
await this.#nullifiersByBlockNumber.set(blockNumber,
|
|
394
|
-
await this.#nullifiedNotesByContract.set(note.contractAddress.toString(),
|
|
395
|
-
await this.#nullifiedNotesByStorageSlot.set(note.storageSlot.toString(),
|
|
396
|
-
await this.#nullifiedNotesByNullifier.set(nullifier.toString(), noteIndex);
|
|
397
|
-
|
|
398
|
-
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);
|
|
399
411
|
}
|
|
400
412
|
return nullifiedNotes;
|
|
401
413
|
});
|